X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=CMakeLists.txt;h=5e82badd694652422550fd6d9136cec21484a90d;hb=refs%2Fheads%2Fmaster;hp=45ba8234f76a6aec53166e29fd03971bc06e56e3;hpb=6ab21eaa343d32ff3d09483b776edb31e54a03c1;p=novacoin.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 45ba823..1ae1f80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.4.1) +cmake_minimum_required(VERSION 3.5) ## ## mkdir build && cd build @@ -43,7 +43,7 @@ if (NOT MSVC) if (NOT WIN32) set(FPIC "-fPIC") endif() -set (CMAKE_C_FLAGS "-flto -O3 ${FPIC} -Wno-deprecated -fstack-protector-all") +set (CMAKE_C_FLAGS "-flto=auto -O3 ${FPIC} -Wno-deprecated -Wno-deprecated-declarations -fstack-protector-all") set (CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -fexceptions -frtti") else() set(CMAKE_C_FLAGS "/O2") @@ -55,8 +55,13 @@ 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) +if (NOT OpenSSL_FOUND) +set(OPENSSL_USE_STATIC_LIBS OFF) find_package(OpenSSL REQUIRED) +endif() # Disable compiling qrencode executables option(WITH_TOOLS "Build utility tools" NO) @@ -80,10 +85,16 @@ endif() # Set default library path for berkeley db if (NOT BerkeleyDB_LIBS) set(BerkeleyDB_LIBS ${BerkeleyDB_ROOT}/lib) -if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") # Workaround for linux distributions -set(BerkeleyDB_LIBS ${BerkeleyDB_LIBS}/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu) -endif() + execute_process ( + COMMAND bash -c "test -d ${BerkeleyDB_LIBS}/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu && echo -n 'present' || echo -n 'absent'" + OUTPUT_VARIABLE dirPresent + ) + if(dirPresent STREQUAL "present") + set(BerkeleyDB_LIBS ${BerkeleyDB_LIBS}/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu) + endif() +endif(CMAKE_SYSTEM_NAME STREQUAL "Linux") endif() # Set default library name for berkeley db @@ -110,6 +121,7 @@ set(generic_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/qt/mintingfilterproxy.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/qt/mintingtablemodel.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/qt/mintingview.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/allocators.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/bignum.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/coincontrol.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/kernelrecord.cpp @@ -125,6 +137,7 @@ set(generic_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/streams.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/miner.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/random.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/init.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/net.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/stun.cpp @@ -203,9 +216,9 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/qt/locale/bitcoin_ru.ts ${CMAKE_B configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/qt/locale/bitcoin_uk.ts ${CMAKE_BINARY_DIR}/bitcoin_uk.ts COPYONLY) # Create translations to be used in bitcoin.qrc -qt5_create_translation(bitcoin_en_qm ${CMAKE_BINARY_DIR}/bitcoin_en.ts) -qt5_create_translation(bitcoin_ru_qm ${CMAKE_BINARY_DIR}/bitcoin_ru.ts) -qt5_create_translation(bitcoin_uk_qm ${CMAKE_BINARY_DIR}/bitcoin_uk.ts) +qt5_add_translation(bitcoin_en_qm ${CMAKE_BINARY_DIR}/bitcoin_en.ts) +qt5_add_translation(bitcoin_ru_qm ${CMAKE_BINARY_DIR}/bitcoin_ru.ts) +qt5_add_translation(bitcoin_uk_qm ${CMAKE_BINARY_DIR}/bitcoin_uk.ts) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/qt/bitcoin.qrc ${CMAKE_BINARY_DIR}/bitcoin.qrc) @@ -269,6 +282,143 @@ list(APPEND ALL_DEFINITIONS HAVE_BUILD_INFO) add_executable(novacoin-qt WIN32 ${ALL_SOURCES}) +target_precompile_headers(novacoin-qt + PRIVATE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) + if (NOT MSVC) list(APPEND ALL_DEFINITIONS _FORTIFY_SOURCE=2) set(ALL_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fstack-protector-all")