Fix local server for multiple applications
[anna.git] / CMakeLists.txt
index 11a2a24..fcaf4ad 100644 (file)
@@ -12,7 +12,7 @@ enable_language(C CXX)
 # Project version
 set(VERSION_MAJOR 1)
 set(VERSION_MINOR 0)
-set(VERSION_PATCH 0)
+set(VERSION_PATCH 6)
 
 # Dynamic libraries not linked to build tree:
 set(CMAKE_SKIP_RPATH TRUE)
@@ -26,9 +26,9 @@ 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)
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY build/${CMAKE_BUILD_TYPE}/lib)
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY build/${CMAKE_BUILD_TYPE}/lib)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/bin)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/lib)
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/lib)
 message(STATUS "CMAKE_RUNTIME_OUTPUT_DIRECTORY is ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
 message(STATUS "CMAKE_LIBRARY_OUTPUT_DIRECTORY is ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
 message(STATUS "CMAKE_ARCHIVE_OUTPUT_DIRECTORY is ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}")
@@ -70,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-deprecated -Wwrite-strings -Wno-unknown-pragmas -Wno-sign-compare -Wno-maybe-uninitialized -Wno-unused -Wno-reorder")
+    set(CMAKE_CXX_FLAGS                "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wno-deprecated -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")
@@ -80,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-deprecated -Wwrite-strings -Wno-unknown-pragmas -Wno-sign-compare -Wno-maybe-uninitialized -Wno-unused -Wno-reorder -Wno-parentheses-equality")
+    set(CMAKE_CXX_FLAGS                "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wno-deprecated -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")
@@ -100,6 +100,15 @@ MACRO(SUBDIRLIST result curdir)
   FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
   SET(dirlist "")
   FOREACH(child ${children})
+
+    # EXCLUDE DATABASE RESOURCES (-DSKIP_DATABASE_BUILD)
+    if(SKIP_DATABASE_BUILD)
+       string(REGEX MATCH "dbms|dbos" DATABASE ${child})
+       IF(DATABASE)
+         CONTINUE()
+       ENDIF()
+    ENDIF()
+
     IF(IS_DIRECTORY ${curdir}/${child})
       LIST(APPEND dirlist ${child})
     ENDIF()
@@ -136,7 +145,7 @@ FOREACH(procedure ${DYNAMIC_PROCEDURES})
   file(GLOB_RECURSE SRCS dynamic/launcher/${rel}/*.cpp)
   add_library(anna_launcher_procedure_${libpath}_shared SHARED ${SRCS})
 
-  set(target_dirname build/${CMAKE_BUILD_TYPE}/lib/dynamic/launcher/${rel})
+  set(target_dirname ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/lib/dynamic/launcher/${rel})
 
   set(target_basename anna_launcher_procedure_${libpath}_shared)
   set_target_properties(${target_basename} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${target_dirname})