From f6065b4a93dd5ed2a43a061904f5979d4eea95e0 Mon Sep 17 00:00:00 2001 From: Andrea Michelotti <andrea.michelotti@lnf.infn.it> Date: Mon, 18 Jul 2016 16:04:12 +0200 Subject: [PATCH] fix for framework standalone compilation --- ArchitectureTests/CMakeLists.txt | 4 ++- CMakeLists.txt | 42 +++++++++++++---------- bootstrap.sh | 9 ++--- chaos/common/CMakeLists.txt | 10 ++++-- test/MemcachedEmbeddedTest/CMakeLists.txt | 6 ++++ 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/ArchitectureTests/CMakeLists.txt b/ArchitectureTests/CMakeLists.txt index 9736bdc69..a4616ff23 100644 --- a/ArchitectureTests/CMakeLists.txt +++ b/ArchitectureTests/CMakeLists.txt @@ -6,7 +6,9 @@ ENDIF() SET(ArchitectureTestsSrc main.cpp) SET(ArchitectureTestsSrc ${ArchitectureTestsSrc} - utility/HashMapTest.cpp) + utility/HashMapTest.cpp + utility/StateFlagCatalogTest.cpp + ) SET(ArchitectureTestsSrc ${ArchitectureTestsSrc} network/FeederTest.cpp) diff --git a/CMakeLists.txt b/CMakeLists.txt index a9f62c31b..77da4f406 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,7 @@ cmake_minimum_required(VERSION 2.6) +option(CHAOS_MEMCACHE_TEST "Memcached test" OFF) +option(CHAOS_ARCHITECTURE_TEST "Architecture tests" ON) + IF (DEFINED ENV{CHAOS_BUNDLE} ) include($ENV{CHAOS_BUNDLE}/tools/project_template/CMakeChaos.txt) ELSE() @@ -18,7 +21,7 @@ add_definitions(-DDEBUG) EXECUTE_PROCESS(COMMAND chaos/common/version.sh) ADD_DEFINITIONS(-O3 ) -INCLUDE_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/include) +INCLUDE_DIRECTORIES(. ../ ../../ ${CMAKE_INSTALL_PREFIX}/include) LINK_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/lib) IF(NOT BUILD_PREFIX) set (BUILD_PREFIX usr/local) @@ -29,56 +32,59 @@ message(STATUS "Using ${BUILD_PREFIX} as installation directory") SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") message(STATUS "Configure Common Layer") -ADD_SUBDIRECTORY(chaos/common bin/bin_common) +ADD_SUBDIRECTORY(chaos/common) message(STATUS "Configure CUToolkit Layer") -ADD_SUBDIRECTORY(chaos/cu_toolkit bin/bin_cutoolkit) +ADD_SUBDIRECTORY(chaos/cu_toolkit) message(STATUS "Configure UIToolkit Layer") -ADD_SUBDIRECTORY(chaos/ui_toolkit bin/bin_uitoolkit) +ADD_SUBDIRECTORY(chaos/ui_toolkit) IF (NOT CHAOS_NO_MONGO) message(STATUS "Configure Chaos Metadata Service") -ADD_SUBDIRECTORY(ChaosMetadataService bin/bin_metadata_service) +ADD_SUBDIRECTORY(ChaosMetadataService) ENDIF() message(STATUS "Configure Chaos Metadata Service Client Library") -ADD_SUBDIRECTORY(ChaosMetadataServiceClient bin/bin_metadata_service_client) +ADD_SUBDIRECTORY(ChaosMetadataServiceClient) message(STATUS "Configure Chaos Metadata Service Client Library Test Application") -ADD_SUBDIRECTORY(ChaosMetadataServiceClientTest bin/ChaosMetadataServiceClientTest) +ADD_SUBDIRECTORY(ChaosMetadataServiceClientTest) message(STATUS "Configure Chaos WAN Proxy") -ADD_SUBDIRECTORY(ChaosWANProxy bin/bin_wan_proxy) +ADD_SUBDIRECTORY(ChaosWANProxy) IF (NOT CHAOS_NO_MONGO) message(STATUS "Configure Chaos Data Service") -ADD_SUBDIRECTORY(ChaosDataService bin/bin_cds) +ADD_SUBDIRECTORY(ChaosDataService) ENDIF() message(STATUS "Configure Chaos Data Export") -ADD_SUBDIRECTORY(ChaosDataExport bin/chaos_cde) +ADD_SUBDIRECTORY(ChaosDataExport) message(STATUS "Configure Chaos CLI") -ADD_SUBDIRECTORY(example/ChaosCLI bin/chaos_cli) +ADD_SUBDIRECTORY(example/ChaosCLI) message(STATUS "Configure Chaos ChaosMDSCmd") -ADD_SUBDIRECTORY(example/ChaosMDSCmd bin/ChaosMDSCmd) +ADD_SUBDIRECTORY(example/ChaosMDSCmd) message(STATUS "Configure Chaos Performance Tester") -ADD_SUBDIRECTORY(example/ChaosPerformanceTester bin/ChaosPerformanceTester) +ADD_SUBDIRECTORY(example/ChaosPerformanceTester) #message(STATUS "Configure Control Unit Test examples") #ADD_SUBDIRECTORY(example/ControlUnitTest bin/bin_example_cutest) #message(STATUS "Configure BenchTest simulation excutable") #ADD_SUBDIRECTORY(example/BenchTest bin/bench_test) +IF (CHAOS_MEMCACHE_TEST) + message(STATUS "Configure ChaosMemCacheTest test excutable") + ADD_SUBDIRECTORY(test/MemcachedEmbeddedTest) +ENDIF() -message(STATUS "Configure ChaosMemCacheTest test excutable") -ADD_SUBDIRECTORY(test/MemcachedEmbeddedTest bin/cache_test) - -message(STATUS "Configure ChaosArchitectureTests test excutable") -ADD_SUBDIRECTORY(ArchitectureTests bin/architecture_test) +IF (CHAOS_ARCHITECTURE_TEST) + message(STATUS "Configure ChaosArchitectureTests test excutable") + ADD_SUBDIRECTORY(ArchitectureTests) +ENDIF() # message(STATUS "Configure Chaos Snapshot Utility") # ADD_SUBDIRECTORY(ChaosSnapshotUtility/ChaosSnapshotUtility bin/chaos_snap_util) diff --git a/bootstrap.sh b/bootstrap.sh index 24559871f..b67805566 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -9,7 +9,8 @@ pushd `dirname $0` > /dev/null SCRIPTPATH=`pwd -P` popd > /dev/null - +# export CXXFLAGS="$CXXFLAGS -fPIC" +# export CFLAGS="$CFLAGS -fPIC" chaos_exclude(){ name=$1 for i in $CHAOS_EXCLUDE_DIR;do @@ -102,7 +103,7 @@ else APPLE="true" ## 18, 16 doesnt compile export LMEM_VERSION=1.0.18 - export CHAOS_BOOST_FLAGS="$CHAOS_BOOST_FLAGS toolset=clang cxxflags=-stdlib=libstdc++ linkflags=-stdlib=libstdc++ link=static" + export CHAOS_BOOST_FLAGS="$CHAOS_BOOST_FLAGS toolset=clang cxxflags=\"-stdlib=libstdc++ -fPIC\" linkflags=-stdlib=libstdc++ link=static runtime-link=shared variant=release" fi @@ -117,7 +118,7 @@ fi if [ -z "$CHAOS_BOOS_FLAGS" ];then - CHAOS_BOOST_FLAGS="$CHAOS_BOOST_FLAGS --prefix=$CHAOS_PREFIX --with-program_options --with-chrono --with-filesystem --with-iostreams --with-log --with-regex --with-random --with-system --with-thread --with-atomic --with-timer install" + CHAOS_BOOST_FLAGS="$CHAOS_BOOST_FLAGS --prefix=$CHAOS_PREFIX --with-program_options --with-chrono --with-filesystem --with-iostreams --with-log --with-regex --with-random --with-system --with-thread --with-atomic --with-timer install link=static runtime-link=shared variant=release cxxflags=-fPIC" echo "* setting CHAOS_BOOST_FLAGS=$CHAOS_BOOST_FLAGS" fi @@ -370,7 +371,7 @@ if [ -z "$NO_MONGOOSE" ];then fi rm CMakeCache.txt make clean - cmake $CHAOS_CMAKE_FLAGS -DHAS_JSONCPP=ON + cmake $CHAOS_CMAKE_FLAGS -DHAS_JSONCPP=ON -DENABLE_PIC=ON # -DHAS_JSONCPP=ON # if [ -n "$CHAOS_STATIC" ]; then # CXX=$CXX CC=$CC cmake $CHAOS_CMAKE_FLAGS -DHAS_JSONCPP=ON diff --git a/chaos/common/CMakeLists.txt b/chaos/common/CMakeLists.txt index f0b2ee819..8657c31a2 100644 --- a/chaos/common/CMakeLists.txt +++ b/chaos/common/CMakeLists.txt @@ -181,7 +181,8 @@ SET(common_lib_src ${common_lib_src} utility/InizializableService.cpp utility/SWEService.cpp utility/CheckList.cpp - utility/AggregatedCheckList.cpp) + utility/AggregatedCheckList.cpp +) SET(common_lib_src ${common_lib_src} batch_command/BatchCommandExecutor.cpp @@ -203,6 +204,11 @@ SET(common_lib_src ${common_lib_src} script/AbstractScriptVM.cpp script/AbstractScriptableClass.cpp) +SET(common_lib_src ${common_lib_src} + status_manager/StatusFlagCatalog.cpp + status_manager/StatusFlag.cpp + status_manager/DeclareStatusFlag.cpp) + #compile lua chaos vm and core files INCLUDE_DIRECTORIES(script/lua/core ./chaos/common ./chaos/common/metadata_logging ../../) FILE(GLOB LuaCoreSource script/lua/core/*.c) @@ -226,7 +232,7 @@ ENDIF () #SET_TARGET_PROPERTIES(chaos_common_static PROPERTIES OUTPUT_NAME chaos_common) #set_target_properties(chaos_common PROPERTIES VERSION 1.0.0 SOVERSION 1) -TARGET_LINK_LIBRARIES(chaos_common ${FrameworkLib}) +TARGET_LINK_LIBRARIES(chaos_common mongoose ${FrameworkLib}) FILE(GLOB files "*.h") diff --git a/test/MemcachedEmbeddedTest/CMakeLists.txt b/test/MemcachedEmbeddedTest/CMakeLists.txt index bb4b6d9e8..78b89bbc3 100644 --- a/test/MemcachedEmbeddedTest/CMakeLists.txt +++ b/test/MemcachedEmbeddedTest/CMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 2.6) option(BUILD_FORCE_32 "Set to ON to enable 32 bit compilation" OFF) +IF (DEFINED ENV{CHAOS_BUNDLE} ) + include($ENV{CHAOS_BUNDLE}/tools/project_template/CMakeChaos.txt) +ELSE() + SET(FrameworkLib boost_program_options boost_date_time boost_system boost_chrono boost_regex boost_log_setup boost_log boost_filesystem boost_thread boost_atomic zmq.a jsoncpp pthread rt dl) +ENDIF() + IF( ($ENV{CHAOS32}) OR (BUILD_FORCE_32) ) MESSAGE(STATUS "Enabling 32 bit Compilation") set (CMAKE_C_FLAGS "-m32") -- GitLab