X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=CMakeLists.txt;h=1cd503d5fe93199d13a1a4ea8d178d8cfa8c5fc9;hp=dbce3e331c8a88fab9d904a8c27242811b7bc7f9;hb=9b29f6f7a8965d709920364f46d291b27945c23d;hpb=63c74af5519ae3db82627b9cd3b36bb2cfa3bd72 diff --git a/CMakeLists.txt b/CMakeLists.txt index dbce3e3..1cd503d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,7 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) endif(NOT CMAKE_BUILD_TYPE) +message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}") # Build output directory: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY build/${CMAKE_BUILD_TYPE}/bin) @@ -62,18 +63,25 @@ message(STATUS "The c++ compiler is ${CMAKE_CXX_COMPILER}") message(STATUS "The build type is ${CMAKE_BUILD_TYPE}") # Example how to set c++ compiler flags for GNU +message(STATUS "CMAKE_CXX_COMPILER_ID = ${CMAKE_CXX_COMPILER_ID}") if(CMAKE_CXX_COMPILER_ID MATCHES GNU) #execute_process(COMMAND g++ --version >/dev/null 2>/dev/null) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused") - set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") - set(CMAKE_CXX_FLAGS_RELEASE "-O3") + set(CMAKE_CXX_COMPILER "/usr/bin/g++") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused") + set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") + set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") + set(CMAKE_CXX_FLAGS_RELEASE "-O3") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") elseif(CMAKE_CXX_COMPILER_ID MATCHES Clang) #execute_process(COMMAND clang++ --version >/dev/null 2>/dev/null) add_definitions(-DIS_CLANG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused -Wno-parentheses-equality") - set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") - set(CMAKE_CXX_FLAGS_RELEASE "-O3") + set(CMAKE_CXX_COMPILER "/usr/bin/clang++") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused -Wno-parentheses-equality") + set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") + set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") + set(CMAKE_CXX_FLAGS_RELEASE "-O3") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") endif() @@ -208,11 +216,16 @@ ENDFOREACH() # Install -# see http://stackoverflow.com/questions/14084759/keep-a-single-files-permissions-when-using-install-in-cmake -####set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/deploy") -####install(FILES build/lib/libtools_static.a DESTINATION lib) -####install(PROGRAMS build/lib/libtools_shared.so DESTINATION lib) -####install(PROGRAMS build/bin/hello DESTINATION bin) +message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") +# Binaries: +file(GLOB_RECURSE BINARIES ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/bin/*) +install(PROGRAMS ${BINARIES} DESTINATION bin) +# Headers: +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/anna/ DESTINATION include) +# Libraries: +file(GLOB_RECURSE LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/lib/*) +install(FILES ${LIBRARIES} DESTINATION lib) + # Add target for API documentation with Doxygen find_package(Doxygen)