fixed cmake files for auto build

This commit is contained in:
WolverinDEV 2019-07-02 21:55:37 +02:00
parent 4606504266
commit e54647f598
2 changed files with 55 additions and 90 deletions

View File

@ -6,6 +6,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_VERBOSE_MAKEFILE ON)
if(CMAKE_PLATFORM_INCLUDE AND NOT CMAKE_PLATFORM_INCLUDE STREQUAL "")
message("Include file ${CMAKE_PLATFORM_INCLUDE}")
include(${CMAKE_PLATFORM_INCLUDE})
endif()
message("Library path: ${LIBRARY_PATH}")
message("Module path: ${CMAKE_MODULE_PATH}")
#Setup NodeJS
function(setup_nodejs)
set(NodeJS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
@ -100,9 +107,6 @@ if (MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
else()
#This is a bad thing here!
set(LIBRARY_PATH "/home/wolverindev/TeaSpeak/libraries/")
set(LIBEVENT_PATH "${LIBRARY_PATH}/event/build/lib/")
function(resolve_library VARIABLE FALLBACK PATHS)
set( _PATHS ${PATHS} ${ARGN} ) # Merge them together

View File

@ -1,9 +1,6 @@
set(MODULE_NAME "teaclient_connection")
include_directories(/home/wolverindev/TeaSpeak/TeaSpeak/shared/src)
function(resolve_codecs)
# if(EXISTS "${CMAKE_MODULE_DIR}/libraries/generated/opus/include" AND EXISTS ${OPUS_LIBRARY_PATH})
# set(HAVE_OPUS ON)
@ -74,114 +71,78 @@ endif()
add_nodejs_module(${MODULE_NAME} ${SOURCE_FILES} ${NODEJS_SOURCE_FILES})
target_link_libraries(${MODULE_NAME} ${NODEJS_LIBRARIES})
if(WIN32)
find_package(TomMath REQUIRED)
include_directories(${TomMath_INCLUDE_DIR})
find_package(TomCrypt REQUIRED)
include_directories(${TomCrypt_INCLUDE_DIR})
find_package(TomMath REQUIRED)
include_directories(${TomMath_INCLUDE_DIR})
find_package(DataPipes REQUIRED)
include_directories(${DataPipes_INCLUDE_DIR})
find_package(TomCrypt REQUIRED)
include_directories(${TomCrypt_INCLUDE_DIR})
find_package(LibEvent REQUIRED)
include_directories(${LIBEVENT_INCLUDE_DIRS})
find_package(DataPipes REQUIRED)
include_directories(${DataPipes_INCLUDE_DIR})
find_package(TeaSpeak_SharedLib REQUIRED)
include_directories(${TeaSpeak_SharedLib_INCLUDE_DIR})
find_package(Libevent REQUIRED)
include_directories(${LIBEVENT_INCLUDE_DIRS})
find_package(StringVariable REQUIRED)
include_directories(${StringVariable_INCLUDE_DIR})
message(${TeaSpeak_SharedLib_ROOT_DIR})
find_package(TeaSpeak_SharedLib REQUIRED)
include_directories(${TeaSpeak_SharedLib_INCLUDE_DIR})
find_package(ed25519 REQUIRED)
include_directories(${ed25519_INCLUDE_DIR})
find_package(StringVariable REQUIRED)
include_directories(${StringVariable_INCLUDE_DIR})
find_package(ThreadPool REQUIRED)
include_directories(${ThreadPool_INCLUDE_DIR})
find_package(Ed25519 REQUIRED)
include_directories(${ed25519_INCLUDE_DIR})
find_package(ThreadPool REQUIRED)
include_directories(${ThreadPool_INCLUDE_DIR})
if (WIN32)
add_definitions(-DWINDOWS) #Required by ThreadPool
endif ()
find_package(soxr REQUIRED)
include_directories(${soxr_INCLUDE_DIR})
find_package(Soxr REQUIRED)
include_directories(${soxr_INCLUDE_DIR})
find_package(PortAudio REQUIRED)
include_directories(${PortAudio_INCLUDE_DIR})
find_package(PortAudio REQUIRED)
include_directories(${PortAudio_INCLUDE_DIR})
find_package(fvad REQUIRED)
include_directories(${fvad_INCLUDE_DIR})
find_package(fvad REQUIRED)
include_directories(${fvad_INCLUDE_DIR})
find_package(opus REQUIRED)
include_directories(${opus_INCLUDE_DIR})
find_package(Opus REQUIRED)
include_directories(${opus_INCLUDE_DIR})
find_package(spdlog REQUIRED)
find_package(spdlog REQUIRED)
set(REQUIRED_LIBRARIES
${TeaSpeak_SharedLib_LIBRARIES_STATIC}
set(REQUIRED_LIBRARIES
${TeaSpeak_SharedLib_LIBRARIES_STATIC}
${TomCrypt_LIBRARIES_STATIC}
${TomMath_LIBRARIES_STATIC}
${TomCrypt_LIBRARIES_STATIC}
${TomMath_LIBRARIES_STATIC}
${LIBEVENT_STATIC_LIBRARIES}
Ws2_32.Lib
${LIBEVENT_STATIC_LIBRARIES}
${StringVariable_LIBRARIES_STATIC}
${DataPipes_LIBRARIES_STATIC} #Needs to be static because something causes ca bad function call when loaded in electron
${ThreadPool_LIBRARIES_STATIC}
${soxr_LIBRARIES_STATIC}
${PortAudio_LIBRARIES_STATIC}
${fvad_LIBRARIES_STATIC}
${opus_LIBRARIES_STATIC}
${StringVariable_LIBRARIES_STATIC}
${DataPipes_LIBRARIES_STATIC} #Needs to be static because something causes ca bad function call when loaded in electron
${ThreadPool_LIBRARIES_STATIC}
${soxr_LIBRARIES_STATIC}
${PortAudio_LIBRARIES_STATIC}
${fvad_LIBRARIES_STATIC}
${opus_LIBRARIES_STATIC}
${ed25519_LIBRARIES_STATIC}
${ed25519_LIBRARIES_STATIC}
spdlog::spdlog
)
spdlog::spdlog
)
if (WIN32)
set(REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} "Ws2_32.Lib")
else()
resolve_library(LIBRARY_TOM_MATH OFF "${LIBRARY_PATH}/tommath/build/libtommathStatic.a")
resolve_library(LIBRARY_TOM_CRYPT OFF "${LIBRARY_PATH}/tomcrypt/libtomcrypt.a")
resolve_library(LIBRARY_PATH_BREAKPAD OFF "${LIBRARY_PATH}/breakpad/build/src/client/linux/libbreakpad_client.a")
resolve_library(LIBRARY_PATH_PROTOBUF OFF "${LIBRARY_PATH}/protobuf/build/libprotobuf.a")
resolve_library(LIBRARY_PATH_JDBC OFF "${LIBRARY_PATH}/mysqlconnector/build/jdbc/driver/libmysqlcppconn.so.7")
resolve_library(LIBRARY_PATH_BORINGSSL_SSL OFF "${LIBRARY_PATH}/boringssl/build/ssl/libssl.so")
resolve_library(LIBRARY_PATH_BORINGSSL_CRYPTO OFF "${LIBRARY_PATH}/boringssl/build/crypto/libcrypto.so")
resolve_library(LIBRARY_PATH_THREAD_POOL OFF "${LIBRARY_PATH}/Thread-Pool/build/libThreadPoolStatic.a")
resolve_library(LIBRARY_PATH_TERMINAL OFF "${LIBRARY_PATH}/CXXTerminal/build/libCXXTerminalStatic.a")
resolve_library(LIBRARY_PATH_VARIBALES OFF "${LIBRARY_PATH}/StringVariable/build/libStringVariablesStatic.a")
resolve_library(LIBRARY_PATH_YAML OFF "${LIBRARY_PATH}/yaml-cpp/build/libyaml-cpp.a")
resolve_library(LIBRARY_PATH_JSON OFF "${LIBRARY_PATH}/jsoncpp/build/src/lib_json/libjsoncpp.a")
resolve_library(LIBRARY_PATH_ED255 OFF "${LIBRARY_PATH}/ed25519/build/libed25519.a")
resolve_library(LIBRARY_PATH_DATA_PIPES OFF
"${LIBRARY_PATH}/DataPipes/build/libDataPipes.a"
"${LIBRARY_PATH}/DataPipes/cmake-build-release/libDataPipes.a"
"${LIBRARY_PATH}/DataPipes/cmake-build-debug/libDataPipes.a"
)
resolve_library(LIBRARY_PATH_OPUS OFF "${LIBRARY_PATH}/opus/build/.libs/libopus.a")
set(REQUIRED_LIBRARIES
/home/wolverindev/TeaSpeak/TeaSpeak/cmake-build-debug/shared/libTeaSpeak.a
${LIBRARY_TOM_CRYPT}
${LIBRARY_TOM_MATH}
${LIBEVENT_PATH}/libevent.a
${LIBEVENT_PATH}/libevent_pthreads.a
${LIBRARY_PATH_DATA_PIPES} #Needs to be static because something causes ca bad function call when loaded in electron
${LIBRARY_PATH_THREAD_POOL}
${LIBRARY_PATH_ED255}
fvad.a
/home/wolverindev/Development-WebApp/TeaClient/native/codec/libraries/generated/opus/lib/libopus.a
portaudio.a
soxr.a
set(REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES}
asound
jack
pthread
)
target_link_libraries(${MODULE_NAME} ${REQUIRED_LIBRARIES})
include_directories(${LIBRARY_PATH}/tomcrypt/src/headers)
endif()
add_definitions(-DNO_OPEN_SSL)