X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=CMakeLists.txt;h=1ae1f807e88e62f02674bf29195d4492c08862e4;hb=master;hp=3fadffed54652111320ea23098e1b105e37b7070;hpb=b462f4d88220b12edc66becceae3e06c1d894dec;p=novacoin.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fadffe..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,20 +55,19 @@ 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) add_subdirectory(src/additional/libqrencode) add_subdirectory(src/additional/IXWebSocket) -# Apply patch for IXWebSocket issue -execute_process ( - COMMAND sh -c "${CMAKE_CURRENT_SOURCE_DIR}/src/additional/fix_cerrno.sh" - OUTPUT_VARIABLE outIxVar -) - # Set default root path for berkeley db if (NOT BerkeleyDB_ROOT) set(BerkeleyDB_ROOT /usr) @@ -86,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 @@ -116,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 @@ -123,12 +129,15 @@ set(generic_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/version.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/sync.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/util.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/timedata.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/netbase.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/ntp.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/key.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/script.cpp + ${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 @@ -207,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) @@ -273,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")