Skip to content

Commit 2f76258

Browse files
fix CMakeLists.txt
1 parent bbce300 commit 2f76258

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

CMakeLists.txt

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
66
set(CMAKE_CXX_STANDARD 11)
77
set(CMAKE_CXX_EXTENSIONS OFF)
88

9-
option(USE_OPENSSL "Use OpenSSL for encrypted communication" ON)
10-
option(USE_AERON "Use Aeron for UDP connection" ON)
11-
option(USE_CXX11_ABI "Gcc Use C++11 ABI" ON)
9+
option(USE_OPENSSL "Use OpenSSL for encrypted communication." ON)
10+
option(USE_AERON "Use Aeron for UDP connections. ${CMAKE_PROJECT_NAME} will search for Aeron in $\{CMAKE_INSTALL_PREFIX\} by default, you can specify a different location with AERON_INSTALL_DIR" ON)
11+
option(WITH_GTEST "Compile testcases." OFF)
1212

1313
add_library(${CMAKE_PROJECT_NAME} SHARED)
1414

@@ -21,7 +21,7 @@ endif()
2121

2222
if (USE_AERON)
2323
if (NOT DEFINED AERON_INSTALL_DIR)
24-
set(AERON_INSTALL_DIR "/usr/local")
24+
set(AERON_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
2525
endif()
2626
set(AERON_INCLUDE_DIR
2727
"${AERON_INSTALL_DIR}/include/wrapper"
@@ -37,10 +37,6 @@ if (USE_AERON)
3737
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE USE_AERON)
3838
endif()
3939

40-
if (NOT USE_CXX11_ABI)
41-
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE _GLIBCXX_USE_CXX11_ABI=0)
42-
endif()
43-
4440
target_include_directories(${CMAKE_PROJECT_NAME}
4541
PRIVATE ${OPENSSL_INCLUDE_DIR}
4642
PRIVATE BEFORE ${AERON_INCLUDE_DIR} # make sure we include C warpper before deprecated C++ API
@@ -52,14 +48,10 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
5248
)
5349

5450
if (WIN32)
55-
target_compile_definitions(${CMAKE_PROJECT_NAME}
56-
PRIVATE WINDOWS NOMINMAX _DDBAPIDLL
57-
)
51+
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE NOMINMAX _DDBAPIDLL)
5852
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE ws2_32)
5953
if (MINGW)
60-
target_compile_definitions(${CMAKE_PROJECT_NAME}
61-
PRIVATE _WIN32_WINNT=0x0600
62-
)
54+
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE _WIN32_WINNT=0x0600)
6355
endif()
6456
else()
6557
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE pthread rt uuid)
@@ -69,14 +61,17 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
6961
# C4251: Class member of an exported class is not marked dllexport.
7062
# This is triggered by std::string but we cannot modify STL.
7163
# C4100: Parameter is unused. We should fix this later.
72-
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE /W3 /WX /MP /wd4251 /wd4100)
64+
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE /W3 /MP /wd4251 /wd4100)
7365
else()
7466
# overloaded-virtual: Derived class hides base class virtual functions
7567
# This is triggered by derived classes of Constant and we will fix this later
76-
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE -Wall -Werror -Wno-overloaded-virtual)
68+
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE -Wall -Wno-overloaded-virtual)
7769
endif()
7870

79-
if (USE_CXX11_ABI AND EXISTS "${PROJECT_SOURCE_DIR}/thirdparty/googletest/CMakeLists.txt")
71+
if (WITH_GTEST)
72+
if (NOT USE_CXX11_ABI)
73+
message(FATAL_ERROR "cannot compile testcases without C++11 ABI")
74+
endif()
8075
add_executable(${CMAKE_PROJECT_NAME}_test)
8176
add_subdirectory(test)
8277

@@ -97,6 +92,4 @@ if (USE_CXX11_ABI AND EXISTS "${PROJECT_SOURCE_DIR}/thirdparty/googletest/CMakeL
9792
gtest_main
9893
gmock_main
9994
)
100-
else()
101-
message("skipping tests.")
10295
endif()

0 commit comments

Comments
 (0)