diff --git a/CMakeLists.txt b/CMakeLists.txt index 33b2873..0ac9c68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,7 @@ set(FRNETLIB_BUILD_SHARED_LIBS false CACHE BOOL "Build shared library.") set(MAX_HTTP_HEADER_SIZE "0xC800" CACHE STRING "The maximum allowed HTTP header size in bytes") set(MAX_HTTP_BODY_SIZE "0xA00000" CACHE STRING "The maximum allowed HTTP body size in bytes") set(LISTEN_QUEUE_SIZE "64" CACHE STRING "The listen queue depth for fr::TcpListener/fr::SSLListener") +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE) #Configure defines based on user options add_definitions(-DMAX_HTTP_HEADER_SIZE=${MAX_HTTP_HEADER_SIZE}) @@ -43,7 +44,9 @@ set( SOURCE_PATH "${PROJECT_SOURCE_DIR}/src" ) set(SOURCE_FILES ${SOURCE_FILES} main.cpp src/TcpSocket.cpp include/frnetlib/TcpSocket.h src/TcpListener.cpp include/frnetlib/TcpListener.h src/Socket.cpp include/frnetlib/Socket.h src/Packet.cpp include/frnetlib/Packet.h include/frnetlib/NetworkEncoding.h src/SocketSelector.cpp include/frnetlib/SocketSelector.h src/HttpRequest.cpp include/frnetlib/HttpRequest.h src/HttpResponse.cpp include/frnetlib/HttpResponse.h src/Http.cpp include/frnetlib/Http.h src/SocketReactor.cpp include/frnetlib/SocketReactor.h include/frnetlib/Packetable.h include/frnetlib/Listener.h src/URL.cpp include/frnetlib/URL.h include/frnetlib/Sendable.h include/frnetlib/version.h) include_directories(include) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") +set(CORE_CXX_FLAGS "${CORE_CXX_FLAGS} -std=c++14") +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CORE_CXX_FLAGS} -g -O0") +set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CORE_CXX_FLAGS} -O2 -flto") if(USE_SSL) set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} ${MBEDTLS_LIBRARIES}) @@ -59,14 +62,9 @@ set( LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/lib" ) # Add the library. if( FRNETLIB_BUILD_SHARED_LIBS ) add_library( frnetlib SHARED ${SOURCE_FILES} ) - set_target_properties( frnetlib PROPERTIES DEBUG_POSTFIX -d ) else() add_definitions( -DFRNETLIB_STATIC ) add_library( frnetlib ${SOURCE_FILES} ) - - set_target_properties( frnetlib PROPERTIES DEBUG_POSTFIX -s-d ) - set_target_properties( frnetlib PROPERTIES RELEASE_POSTFIX -s ) - set_target_properties( frnetlib PROPERTIES MINSIZEREL_POSTFIX -s ) endif() # Tell the compiler to export when necessary.