diff --git a/native/CMakeLists.txt b/native/CMakeLists.txt index 40436e4..8ea0f78 100644 --- a/native/CMakeLists.txt +++ b/native/CMakeLists.txt @@ -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 diff --git a/native/serverconnection/CMakeLists.txt b/native/serverconnection/CMakeLists.txt index c1165b2..daae3c4 100644 --- a/native/serverconnection/CMakeLists.txt +++ b/native/serverconnection/CMakeLists.txt @@ -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)