diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..fa1ad6c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,61 @@ +################################################################################ +# Cmake directives +################################################################################ +cmake_minimum_required(VERSION 2.8) + +################################################################################ +# Project information +################################################################################ +project(libuknapsack) + +set(PROJECT_MAJOR_VERSION 1) +set(PROJECT_MINOR_VERSION 0) +set(PROJECT_PATCH_VERSION 0) +set(PROJECT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}) + +################################################################################ +# Dependencies +################################################################################ + +################################################################################ +# CMake +################################################################################ +set(C_FLAGS_WARNING "-Wall -pedantic") +set(C_CXX_FLAGS_DEFAULT "${C_FLAGS_WARNING} -O2") + +set(CMAKE_C_FLAGS "${C_CXX_FLAGS_DEFAULT} ${CMAKE_C_FLAGS}") +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -O0 -g -DDEBUG=1") +set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS}") +set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} -g -DDEBUG=1") + +set(CMAKE_BUILD_TYPE Release CACHE STRING "default to Release") + +set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/_install) + +################################################################################ +# Files and install +################################################################################ +set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) +set(INCLUDE_FILES + ${INCLUDE_DIR}/nem_ull.h + ${INCLUDE_DIR}/structs.h + ${INCLUDE_DIR}/common.h +) + +set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) +set(SRC_FILES + ${SRC_DIR}/nem_ull.c + ${SRC_DIR}/common.c +) + +set(MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/main) + +include_directories (${INCLUDE_DIR}) + +add_library(nem_ull_lib STATIC ${SRC_FILES}) +add_executable(nem_ull ${MAIN_SRC_DIR}/nem_ull.c) +target_link_libraries(nem_ull nem_ull_lib) + +install(TARGETS nem_ull DESTINATION bin) +install(TARGETS nem_ull_lib DESTINATION lib) +install(FILES ${INCLUDE_FILES} DESTINATION include) |