Skip to content

Commit 01545aa

Browse files
authored
Merge pull request #635 from denizevrenci/cmake
Update top level CMakeLists.txt to be inline with Aeron
2 parents aaa76d1 + b43742f commit 01545aa

File tree

2 files changed

+21
-33
lines changed

2 files changed

+21
-33
lines changed

CMakeLists.txt

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
# limitations under the License.
1515
#
1616

17-
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
18-
cmake_policy(VERSION 3.0.2)
17+
cmake_minimum_required(VERSION 3.1.3 FATAL_ERROR)
18+
cmake_policy(VERSION 3.1.3)
1919

2020
file(STRINGS version.txt SBE_VERSION_TXT LIMIT_COUNT 1 REGEX "^[0-9]+(\\.[0-9]+)+")
2121
string(REGEX REPLACE "^([0-9]+(\\.[0-9]+)+).*$" "\\1" SBE_VERSION_NUMERIC "${SBE_VERSION_TXT}")
@@ -44,6 +44,14 @@ if(NOT CMAKE_BUILD_TYPE)
4444
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build" FORCE)
4545
endif(NOT CMAKE_BUILD_TYPE)
4646

47+
if(NOT DEFINED CMAKE_CXX_STANDARD)
48+
set(CMAKE_CXX_STANDARD 11)
49+
endif()
50+
51+
if(NOT DEFINED CMAKE_CXX_EXTENSIONS)
52+
set(CMAKE_CXX_EXTENSIONS OFF)
53+
endif()
54+
4755
if(SBE_TESTS)
4856
set(SBE_THIRDPARTY_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty")
4957

@@ -73,14 +81,12 @@ endif()
7381
find_package(Threads)
7482

7583
if(UNIX)
76-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fexceptions -g -Wall -Wpedantic -Wextra -Wno-unused-parameter")
77-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
78-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Ofast")
84+
add_compile_options(-Wall -Wpedantic -Wextra -Wno-unused-parameter)
7985
endif()
8086

8187
if(APPLE)
8288
# -Wall doesn't enable everything we want to see
83-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsign-compare")
89+
add_compile_options(-Wsign-compare)
8490
add_definitions(-DDarwin)
8591
elseif(MSVC)
8692
add_definitions(-DWIN32)
@@ -98,15 +104,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/binaries")
98104
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib")
99105

100106
set(SBE_JAR "${CMAKE_CURRENT_SOURCE_DIR}/sbe-all/build/libs/sbe-all-${SBE_VERSION_TXT}.jar")
101-
if(EXISTS "${SBE_JAR}")
102-
message("latest SBE jar found: ${SBE_JAR}")
103-
else()
104-
message("Generating SBE jar")
105-
execute_process(
106-
COMMAND ./gradlew build -x test -x check -x javadoc :sbe-all:build
107-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
108-
)
109-
endif()
110107

111108
file(GLOB_RECURSE SBE_SOURCES
112109
"${CMAKE_CURRENT_SOURCE_DIR}/sbe-tool/src/main/java/*.java"

sbe-tool/src/main/cpp/CMakeLists.txt

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,19 @@
1414
# limitations under the License.
1515
#
1616

17-
file(GLOB_RECURSE CODECS
18-
"uk_co_real_logic_sbe_ir_generated/*.h"
17+
set(CODECS
18+
uk_co_real_logic_sbe_ir_generated/ByteOrderCodec.h
19+
uk_co_real_logic_sbe_ir_generated/FrameCodec.h
20+
uk_co_real_logic_sbe_ir_generated/MessageHeader.h
21+
uk_co_real_logic_sbe_ir_generated/PresenceCodec.h
22+
uk_co_real_logic_sbe_ir_generated/PrimitiveTypeCodec.h
23+
uk_co_real_logic_sbe_ir_generated/SignalCodec.h
24+
uk_co_real_logic_sbe_ir_generated/TokenCodec.h
25+
uk_co_real_logic_sbe_ir_generated/VarDataEncoding.h
1926
)
2027

2128
find_package(Java REQUIRED)
2229

23-
if(NOT(CODECS))
24-
execute_process(
25-
COMMAND
26-
${Java_JAVA_EXECUTABLE}
27-
"-Dsbe.output.dir=${CMAKE_CURRENT_SOURCE_DIR}"
28-
"-Dsbe.target.language=CPP"
29-
"-jar" "${SBE_JAR}"
30-
"../resources/sbe-ir.xml"
31-
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
32-
)
33-
34-
file(GLOB_RECURSE CODECS
35-
"uk_co_real_logic_sbe_ir_generated/*.h"
36-
)
37-
endif()
38-
3930
add_custom_command(OUTPUT ${CODECS}
4031
COMMAND
4132
${Java_JAVA_EXECUTABLE}

0 commit comments

Comments
 (0)