diff options
| author | J08nY | 2017-10-14 14:19:02 +0200 |
|---|---|---|
| committer | J08nY | 2017-10-14 23:11:11 +0200 |
| commit | 5fe4358eeb74cd82008c336fc4f634548e5e3393 (patch) | |
| tree | 8ea32d24ac4c6a62a026de3e77aaa68690d927b8 | |
| parent | 4dece41c236a7e92ab04205e8b6e076a2514a528 (diff) | |
| download | ecgen-5fe4358eeb74cd82008c336fc4f634548e5e3393.tar.gz ecgen-5fe4358eeb74cd82008c336fc4f634548e5e3393.tar.zst ecgen-5fe4358eeb74cd82008c336fc4f634548e5e3393.zip | |
| -rw-r--r-- | CMakeLists.txt | 20 | ||||
| -rw-r--r-- | lib/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | test/CMakeLists.txt | 9 |
3 files changed, 28 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d7c624..5ebb028 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,24 @@ cmake_minimum_required(VERSION 2.8.11) project(ecgen C) -set(CMAKE_LIBRARY_PATH ${CMAKE_SOURCE_DIR}/lib) +add_subdirectory(lib) + +file(GLOB SRC "src/math/*.c" "src/gen/*.c" "src/cm/*.c" "src/invalid/*.c" "src/io/*.c" "src/exhaustive/*.c" "src/misc/*.c" "src/util/*.c") +set(ECGEN_SRC "src/ecgen.c" ${SRC}) +set(ECONVERT_SRC "src/econvert.c") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG -g -Wall -Werror -pedantic") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG -O3 -Wall") include_directories(src) include_directories(lib) -find_library(parson parson/libparson.a) -find_library(sha1 sha1/libsha1.a) - -file(GLOB SRC "src/math/*.c" "src/gen/*.c" "src/cm/*.c" "src/invalid/*.c" "src/io/*.c" "src/exhaustive/*.c" "src/misc/*.c" "src/util/*.c") -set(ECGEN_SRC "src/ecgen.c" ${SRC}) -set(ECONVERT_SRC "src/econvert.c") +add_subdirectory(test) add_executable(ecgen ${ECGEN_SRC}) add_executable(econvert ${ECONVERT_SRC}) -target_link_libraries(ecgen pthread rt pari ${parson} ${sha1}) -target_link_libraries(econvert pthread rt pari ${parson} ${sha1}) +target_link_libraries(ecgen pthread rt pari parson sha1) +target_link_libraries(econvert pthread rt pari parson sha1) + -add_subdirectory(test)
\ No newline at end of file diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt new file mode 100644 index 0000000..c97b838 --- /dev/null +++ b/lib/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 2.8.11) +project(ecgen_libs C) + +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG -g -Wall -Werror -pedantic") +set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG -O3 -Wall") + +file(GLOB PARSON_SRC "parson/*.c") +file(GLOB SHA1_SRC "sha1/*.c") + +add_library(parson STATIC ${PARSON_SRC}) +add_library(sha1 STATIC ${SHA1_SRC})
\ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 066defb..fabbcc9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,10 @@ cmake_minimum_required(VERSION 2.8.11) -project(test_ecgen C) + +# This is an issue because criterion contains a header "io/output.h" which is +# after ecgen's "io/output.h" and so gets shadowed in the include directories +# list which breaks all kinds of things when criterion souces #include "io/output.h". +# +# add_subdirectory(lib/criterion) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib/criterion/include) @@ -10,7 +15,7 @@ file(GLOB TEST_SRC "src/math/*.c" "src/gen/*.c" "src/cm/*.c" "src/invalid/*.c" " file(GLOB TESTING_SRC "src/test/*.c") add_executable(test_ecgen ${TEST_SRC} ${TESTING_SRC} ${SRC}) -target_link_libraries(test_ecgen pthread rt pari ${parson} ${sha1} ${criterion}) +target_link_libraries(test_ecgen pthread rt pari parson sha1 ${criterion}) enable_testing() add_test(NAME test_ecgen COMMAND test_ecgen)
\ No newline at end of file |
