X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=7c0ea677da78a723855a4317181297fcc7885804;hb=020933e5f3d5670828b46e2b0023dfc74548ba1b;hp=fa2e0197c56713a30642b3e88572a5ca3b13f78a;hpb=21a80a795f696582624d7dba66faf795f7d11b74;p=novacoin.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fa2e019..7c0ea67 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -39,7 +39,9 @@ endif() set(CMAKE_CXX_EXTENSIONS OFF) set(Boost_USE_STATIC_LIBS ON) +if(WIN32) set(Boost_USE_STATIC_RUNTIME ON) +endif() find_package(Boost REQUIRED COMPONENTS atomic chrono filesystem program_options system thread) set(OPENSSL_USE_STATIC_LIBS ON) find_package(OpenSSL REQUIRED) @@ -114,10 +116,14 @@ set(generic_sources list(APPEND ALL_SOURCES ${generic_sources}) list(APPEND ALL_LIBRARIES ${Boost_LIBRARIES} ixwebsocket OpenSSL::Crypto) -# Windows-specific libraries if (WIN32) + # Windows-specific libraries list(APPEND ALL_LIBRARIES kernel32 user32 gdi32 comdlg32 winspool winmm shell32 comctl32 ole32 oleaut32 uuid rpcrt4 advapi32 ws2_32 mswsock shlwapi pthread) list(APPEND ALL_DEFINITIONS WIN32) + + # Resources + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bitcoin.rc bitcoin.rc) + list(APPEND ALL_SOURCES ${CMAKE_BINARY_DIR}/bitcoin.rc) endif() # Some systems need rt library @@ -169,14 +175,14 @@ list(APPEND ALL_DEFINITIONS HAVE_BUILD_INFO USE_IPV6) add_executable(novacoind ${ALL_SOURCES}) if (NOT MSVC) -list(APPEND ALL_LIBRARIES ssp) list(APPEND ALL_DEFINITIONS _FORTIFY_SOURCE=2) if (WIN32) -list(APPEND ALL_LIBRARIES mingw32) +list(APPEND ALL_LIBRARIES mingw32 ssp) +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static") endif() endif() -target_include_directories(novacoind PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/json ${BerkeleyDB_INC} ${CMAKE_CURRENT_SOURCE_DIR}/additional/sse2neon ${CMAKE_CURRENT_SOURCE_DIR}/additional/leveldb/helpers ${Boost_INCLUDE_DIRS}) +target_include_directories(novacoind PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/json ${BerkeleyDB_INC} ${CMAKE_CURRENT_SOURCE_DIR}/additional/leveldb/helpers ${Boost_INCLUDE_DIRS}) target_link_libraries(novacoind ${ALL_LIBRARIES}) target_compile_features(novacoind PUBLIC cxx_std_17)