X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=CMakeLists.txt;h=fdeaae9f72f163413b593dcf4137d084bfdcc03a;hb=dfc80ebaae97088df3188399b014652b4cf48dea;hp=576325cf3d50b335633dbf1c5fec72a323fef574;hpb=23f8d538e91355cecfc96636f16597a2a48649ac;p=anna.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 576325c..fdeaae9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,9 @@ set(VERSION_MAJOR 1) set(VERSION_MINOR 0) set(VERSION_PATCH 0) +# Dynamic libraries not linked to build tree: +set(CMAKE_SKIP_RPATH TRUE) + # Build type: if(NOT CMAKE_BUILD_TYPE) message(WARNING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.") @@ -67,7 +70,7 @@ 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_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 "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wwrite-strings -Wno-unknown-pragmas -Wno-sign-compare -Wno-maybe-uninitialized -Wno-unused -Wno-reorder") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-O3") @@ -77,7 +80,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES Clang) #execute_process(COMMAND clang++ --version >/dev/null 2>/dev/null) add_definitions(-DIS_CLANG) 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 "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wwrite-strings -Wno-unknown-pragmas -Wno-sign-compare -Wno-maybe-uninitialized -Wno-unused -Wno-reorder -Wno-parentheses-equality") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-O3") @@ -108,7 +111,7 @@ ENDMACRO() add_definitions(-DLDAP_DEPRECATED) # General includes: -include_directories(include/anna) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories(/usr/include/libxml2) include_directories(/usr/lib/oracle/12.1/client64/include) @@ -153,7 +156,7 @@ FOREACH(module ${MODULES}) # Executable set(target "anna_${module}_${subdir}") - add_executable(${target} "${SRCS}") + add_executable(${target} ${SRCS}) set_target_properties(${target} PROPERTIES LINKER_LANGUAGE CXX) set(libraries_file "${CMAKE_CURRENT_SOURCE_DIR}/example/${module}/${subdir}/libraries.txt") set(includes_file "${CMAKE_CURRENT_SOURCE_DIR}/example/${module}/${subdir}/includes.txt") @@ -183,33 +186,36 @@ ENDFOREACH() # -enable_testing() -find_package(GTest REQUIRED) -include_directories(${GTEST_INCLUDE_DIRS}) +find_package(GTest) +IF(GTest_FOUND) -SUBDIRLIST(MODULES ${CMAKE_CURRENT_SOURCE_DIR}/test) -FOREACH(module ${MODULES}) + enable_testing() + include_directories(${GTEST_INCLUDE_DIRS}) - message(STATUS "Processing basic test at: test/${module}") + SUBDIRLIST(MODULES ${CMAKE_CURRENT_SOURCE_DIR}/test) + FOREACH(module ${MODULES}) - # Sources - file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_SOURCE_DIR}/test/${module}/*.cpp) + message(STATUS "Processing basic test at: test/${module}") - # Executable - set(target "anna_test_${module}") - add_executable(${target} "${SRCS}") - target_link_libraries(${target} ${GTEST_BOTH_LIBRARIES} pthread) - set(libraries_file "${CMAKE_CURRENT_SOURCE_DIR}/test/${module}/libraries.txt") + # Sources + file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_SOURCE_DIR}/test/${module}/*.cpp) - if(EXISTS "${libraries_file}") - file (STRINGS "${libraries_file}" LIBS) - #message(STATUS "Libraries: ${LIBS}") - target_link_libraries(${target} ${GTEST_BOTH_LIBRARIES} pthread ${LIBS}) - endif() + # Executable + set(target "anna_test_${module}") + add_executable(${target} ${SRCS}) + target_link_libraries(${target} ${GTEST_BOTH_LIBRARIES} pthread) + set(libraries_file "${CMAKE_CURRENT_SOURCE_DIR}/test/${module}/libraries.txt") - add_test(${target} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${target}) + if(EXISTS "${libraries_file}") + file (STRINGS "${libraries_file}" LIBS) + #message(STATUS "Libraries: ${LIBS}") + target_link_libraries(${target} ${GTEST_BOTH_LIBRARIES} pthread ${LIBS}) + endif() -ENDFOREACH() + add_test(${target} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${target}) + + ENDFOREACH() +ENDIF(GTest_FOUND) # Install @@ -229,11 +235,11 @@ install(FILES ${LIBRARIES} DESTINATION lib) # Add target for API documentation with Doxygen find_package(Doxygen) -if(DOXYGEN_FOUND) -add_custom_target(doc - ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/docs/doxygen/Doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/doxygen - COMMENT "Generating API documentation with Doxygen" VERBATIM -) -endif(DOXYGEN_FOUND) +IF(Doxygen_FOUND) + add_custom_target(doc + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/docs/doxygen/Doxyfile + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/doxygen + COMMENT "Generating API documentation with Doxygen" VERBATIM + ) +ENDIF(Doxygen_FOUND)