Fixes
[anna.git] / CMakeLists.txt
index a4bc412..ef993e9 100644 (file)
@@ -63,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()
 
 
@@ -125,7 +132,9 @@ FOREACH(procedure ${DYNAMIC_PROCEDURES})
   message(STATUS "Processing dynamic library at: dynamic/launcher/${rel}")
   file(GLOB_RECURSE SRCS dynamic/launcher/${rel}/*.cpp)
   add_library(launcher_procedure_${libpath}_shared SHARED ${SRCS})
-  set(target_dirname build/${CMAKE_BUILD_TYPE}/lib/dynamic_launcher/${libpath})
+
+  set(target_dirname build/${CMAKE_BUILD_TYPE}/lib/dynamic/launcher/${rel})
+
   set(target_basename launcher_procedure_${libpath}_shared)
   set_target_properties(${target_basename} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${target_dirname})
   #file(RENAME ${target_dirname}/lib${target_basename}.so ${target_dirname}/libprocedure.so)
@@ -209,12 +218,15 @@ ENDFOREACH()
 
 
 # Install
+SET(MY_OWN_INSTALL_PREFIX "/opt/anna" CACHE PATH "Prefix prepended to install directories")
+SET(CMAKE_INSTALL_PREFIX "${MY_OWN_INSTALL_PREFIX}" CACHE INTERNAL "Prefix prepended to install directories" FORCE)
+
 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)
+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)