fix release target

pull/1/head
Jeff Becker 6 years ago
parent dc8b9a9315
commit 597aa8eb74
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -5,19 +5,35 @@ project(${PROJECT_NAME})
macro(add_cflags)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARGN}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGN}")
endmacro(add_cflags)
macro(add_cxxflags)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGN}")
endmacro(add_cxxflags)
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
add_cxxflags("-std=c++11")
else()
message(ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
if(STATIC_LINK)
set(STATIC_LINK_LIBS c)
add_cflags("-static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive")
add_cxxflags("-static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive")
endif()
if(SHADOW)
set(WITH_STATIC OFF)
set(WITH_SHARED OFF)
else()
set(WITH_STATIC ON)
set(WITH_SHARED OFF)
endif()
set(DEBUG_FLAGS "-g")
set(OPTIMIZE_FLAGS "-Os")
if(ASAN)
set(DEBUG_FLAGS "${DEBUG_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set(OPTIMIZE_FLAGS "-O0")
@ -35,6 +51,7 @@ if(SHADOW)
set(CMAKE_MODULE_PATH "${SHADOW_ROOT}/share/cmake/Modules")
include_directories(${CMAKE_MODULE_PATH})
include(ShadowTools)
add_cxxflags("-fno-inline -fno-strict-aliasing")
add_cflags("-fno-inline -fno-strict-aliasing")
add_definitions(-DTESTNET=true)
@ -42,11 +59,17 @@ if(SHADOW)
include_directories(${SHADOW_ROOT}/include)
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -Wall ${DEBUG_FLAGS} ${OPTIMIZE_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall ${DEBUG_FLAGS} ${OPTIMIZE_FLAGS}")
add_cflags("-Wall ${OPTIMIZE_FLAGS}")
add_cxxflags("-Wall ${OPTIMIZE_FLAGS}")
if(CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]")
add_cflags("${DEBUG_FLAGS}")
add_cxxflags("${DEBUG_FLAGS}")
endif()
if(SHADOW)
add_cflags("-fPIC")
add_cxxflags("-fPIC")
endif()
if(NOT GIT_VERSION)
@ -73,7 +96,6 @@ endif()
set(LIBS ${SODIUM_LIB} pthread)
set(LIB llarp)
set(SHARED_LIB ${LIB})
set(STATIC_LIB ${LIB}-static)
@ -136,7 +158,9 @@ set(TEST_SRC
set(TEST_EXE testAll)
set(GTEST_DIR test/gtest)
# TODO: exclude this from includes and expose stuff properly for rcutil
include_directories(llarp)
include_directories(include)
include_directories(vendor/cppbackport-master/lib)
@ -157,16 +181,15 @@ else()
include_directories(${GTEST_DIR}/include ${GTEST_DIR})
add_executable(${TEST_EXE} ${TEST_SRC})
add_test(runAllTests ${TEST_EXE})
target_link_libraries(${TEST_EXE} ${STATIC_LIB} gtest_main)
target_link_libraries(${TEST_EXE} ${STATIC_LINK_LIBS} gtest_main ${STATIC_LIB})
endif()
if(WITH_STATIC)
add_library(${STATIC_LIB} STATIC ${LIB_SRC})
target_link_libraries(${STATIC_LIB} ${LIBS})
if(NOT WITH_SHARED)
target_link_libraries(rcutil ${STATIC_LIB})
target_link_libraries(${EXE} ${STATIC_LIB})
target_link_libraries(rcutil ${STATIC_LINK_LIBS} ${STATIC_LIB})
target_link_libraries(${EXE} ${STATIC_LINK_LIBS} ${STATIC_LIB})
endif()
endif()
@ -179,5 +202,4 @@ else()
endif()
endif()
endif()

@ -6,7 +6,7 @@ SIGN = gpg --sign --detach
REPO := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
TARGETS = llarpd libllarp.so libllarp-static.a
TARGETS = llarpd
SIGS = $(TARGETS:=.sig)
SHADOW_ROOT ?= $(HOME)/.shadow
@ -30,7 +30,7 @@ debug-configure: clean
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DWITH_TESTS=ON
release-configure: clean
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DRELEASE_MOTTO="$(shell cat motto.txt)"
cmake -GNinja -DSTATIC_LINK=ON -DCMAKE_BUILD_TYPE=Release -DRELEASE_MOTTO="$(shell cat motto.txt)"
debug: debug-configure
ninja

Loading…
Cancel
Save