mirror of
https://github.com/Lorenzooone/cc3dsfs.git
synced 2025-06-18 08:35:33 -04:00
Add Cross OS compilation
This commit is contained in:
parent
6f56918f3f
commit
e2263c3e52
183
CMakeLists.txt
183
CMakeLists.txt
@ -12,16 +12,29 @@ option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
set(SFML_USE_STATIC_STD_LIBS TRUE)
|
||||
set(CMAKE_HOST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING "Host Compiler")
|
||||
if(FORCE_WINDOWS_FTD3XX_SHARED_LIB)
|
||||
set(WINDOWS_FTD3XX_USE_SHARED_LIB 1)
|
||||
else()
|
||||
set(WINDOWS_FTD3XX_USE_SHARED_LIB 0)
|
||||
endif()
|
||||
if(FORCE_WINDOWS_FTD2XX_SHARED_LIB)
|
||||
set(WINDOWS_FTD2XX_USE_SHARED_LIB 1)
|
||||
else()
|
||||
set(WINDOWS_FTD2XX_USE_SHARED_LIB 0)
|
||||
endif()
|
||||
set(FETCHCONTENT_QUIET FALSE)
|
||||
set(EXTRA_CXX_FLAGS "")
|
||||
set(RASPBERRY_PI_COMPILATION FALSE CACHE BOOL "Option for compiling the Raspberry Pi GPIO library in")
|
||||
set(SFML_BUILD_NETWORK FALSE)
|
||||
set(EXTRA_LIBRARIES "")
|
||||
if(MINGW_CROSS_COMPILATION)
|
||||
set(EXTRA_LIBRARIES "libpthread.a")
|
||||
endif()
|
||||
set(FINAL_EXTENSION "")
|
||||
set(HOST_FINAL_EXTENSION "")
|
||||
set(SETUP_SCRIPTS_DIR ${CMAKE_SOURCE_DIR}/setup_scripts)
|
||||
set(USB_RULES_DIR ${CMAKE_SOURCE_DIR}/usb_rules)
|
||||
set(SCRIPT_EXTENSION "")
|
||||
|
||||
if (RASPBERRY_PI_COMPILATION)
|
||||
set(EXTRA_LIBRARIES "gpiod")
|
||||
@ -32,7 +45,7 @@ if((${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND ((${CMAKE_GENERATOR_PLATFORM} M
|
||||
set(WINDOWS_ARM64 1)
|
||||
endif()
|
||||
|
||||
if((${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND ((${CMAKE_GENERATOR_PLATFORM} MATCHES "Win32") OR (("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "") AND (${CMAKE_SYSTEM_PROCESSOR} MATCHES "Win32"))))
|
||||
if((${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND ((${CMAKE_GENERATOR_PLATFORM} MATCHES "Win32") OR (("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "") AND ((${CMAKE_SYSTEM_PROCESSOR} MATCHES "Win32") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "X86")))))
|
||||
set(WINDOWS_x86_32 1)
|
||||
endif()
|
||||
|
||||
@ -50,6 +63,13 @@ FetchContent_Declare(libusb1
|
||||
GIT_REPOSITORY https://github.com/libusb/libusb-cmake.git
|
||||
GIT_TAG main)
|
||||
|
||||
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(HOST_FINAL_EXTENSION ".exe")
|
||||
set(SCRIPT_EXTENSION ".bat")
|
||||
else()
|
||||
set(SCRIPT_EXTENSION ".sh")
|
||||
endif()
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(FINAL_EXTENSION ".exe")
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
@ -59,30 +79,19 @@ endif()
|
||||
|
||||
set(FTD3XX_BASE_URL https://ftdichip.com/wp-content/uploads/)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/windows_setup_ftd3xx.bat)
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/windows_setup_ftd3xx)
|
||||
set(FTD3XX_URL_TIME 2024/01)
|
||||
set(FTD3XX_VER 1.3.0.9)
|
||||
set(FTD3XX_VOL FTD3XXLibrary_v${FTD3XX_VER})
|
||||
set(FTD3XX_ARCHIVE ${FTD3XX_VOL}.zip)
|
||||
set(FTD3XX_SUBFOLDER win)
|
||||
if(${WINDOWS_FTD3XX_USE_SHARED_LIB})
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER DLL)
|
||||
set(FTD3XX_LIB FTD3XX.dll)
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER Dynamic)
|
||||
set(FTD3XX_LIB FTD3XXWU.dll)
|
||||
endif()
|
||||
else()
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER Static_Lib)
|
||||
set(FTD3XX_LIB FTD3XX.lib)
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER Static)
|
||||
set(FTD3XX_LIB FTD3XXWU.lib)
|
||||
endif()
|
||||
endif()
|
||||
set(FTD3XX_LIB FTD3XX.lib)
|
||||
set(FTD3XX_DLL FTD3XX.dll)
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD3XX_LIB FTD3XXWU.lib)
|
||||
set(FTD3XX_DLL FTD3XXWU.dll)
|
||||
set(FTD3XX_URL_TIME 2024/06)
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/windows_setup_ftd3xx_winusb.bat)
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/windows_setup_ftd3xx_winusb)
|
||||
set(FTD3XX_ARCHIVE FTD3XX_WinUSB_Package.zip)
|
||||
set(FTD3XX_PATH_WINDOWS_ARCH ARM64)
|
||||
elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||
@ -90,12 +99,24 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
else ()
|
||||
set(FTD3XX_PATH_WINDOWS_ARCH x64)
|
||||
endif()
|
||||
if(${WINDOWS_FTD3XX_USE_SHARED_LIB})
|
||||
set(FTD3XX_BUILD_COMMAND ${FTD3XX_BUILD_COMMAND}_dll)
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER DLL)
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER Dynamic)
|
||||
endif()
|
||||
else()
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER Static_Lib)
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD3XX_WINDOWS_PATH_SPECIFIER Static)
|
||||
endif()
|
||||
endif()
|
||||
set(FTD3XX_PRE_WINDOWS_PATH ${FTD3XX_PATH_WINDOWS_ARCH}/${FTD3XX_WINDOWS_PATH_SPECIFIER})
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD3XX_PRE_WINDOWS_PATH ${FTD3XX_WINDOWS_PATH_SPECIFIER}/${FTD3XX_PATH_WINDOWS_ARCH})
|
||||
endif()
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/macos_setup_ftd3xx.sh)
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/macos_setup_ftd3xx)
|
||||
set(FTD3XX_URL_TIME 2023/03)
|
||||
set(FTD3XX_VER 1.0.5)
|
||||
set(FTD3XX_VOL d3xx-osx.${FTD3XX_VER})
|
||||
@ -104,7 +125,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(FTD3XX_MOUNTED_FOLDER /Volumes/${FTD3XX_VOL})
|
||||
set(FTD3XX_SUBFOLDER macos)
|
||||
else()
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/linux_setup_ftd3xx.sh)
|
||||
set(FTD3XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/linux_setup_ftd3xx)
|
||||
set(FTD3XX_URL_TIME 2023/03)
|
||||
set(FTD3XX_VER 1.0.5)
|
||||
if((${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm"))
|
||||
@ -127,7 +148,7 @@ endif()
|
||||
|
||||
set(FTD2XX_BASE_URL https://ftdichip.com/wp-content/uploads/)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(FTD2XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/windows_setup_ftd2xx.bat)
|
||||
set(FTD2XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/windows_setup_ftd2xx)
|
||||
set(FTD2XX_URL_TIME 2023/09)
|
||||
set(FTD2XX_VER 2.12.36.4-WHQL-Certified)
|
||||
set(FTD2XX_VOL CDM-v${FTD2XX_VER})
|
||||
@ -135,14 +156,18 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(FTD2XX_SUBFOLDER win)
|
||||
set(FTD2XX_HEADER_PATH ftd2xx.h)
|
||||
if(${WINDOWS_FTD2XX_USE_SHARED_LIB})
|
||||
set(FTD2XX_BUILD_COMMAND ${FTD3XX_BUILD_COMMAND}_dll)
|
||||
set(FTD2XX_WINDOWS_PATH_SPECIFIER "")
|
||||
if(WINDOWS_ARM64)
|
||||
set(FTD2XX_WINDOWS_PATH_SPECIFIER Release)
|
||||
set(FTD2XX_LIB FTD2XX.dll)
|
||||
set(FTD2XX_LIB FTD2XX.lib)
|
||||
set(FTD2XX_DLL FTD2XX.dll)
|
||||
elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||
set(FTD2XX_LIB ftd2xx.dll)
|
||||
set(FTD2XX_LIB ftd2xx.lib)
|
||||
set(FTD2XX_DLL ftd2xx.dll)
|
||||
else()
|
||||
set(FTD2XX_LIB ftd2xx64.dll)
|
||||
set(FTD2XX_LIB ftd2xx.lib)
|
||||
set(FTD2XX_DLL ftd2xx64.lib)
|
||||
endif()
|
||||
else()
|
||||
set(FTD2XX_WINDOWS_PATH_SPECIFIER Static)
|
||||
@ -169,7 +194,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(FTD2XX_PRE_WINDOWS_PATH ${FTD2XX_PATH_WINDOWS_ARCH}/${FTD2XX_WINDOWS_PATH_SPECIFIER})
|
||||
endif()
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(FTD2XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/macos_setup_ftd2xx.sh)
|
||||
set(FTD2XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/macos_setup_ftd2xx)
|
||||
set(FTD2XX_URL_TIME 2024/04)
|
||||
set(FTD2XX_VER 1.4.30)
|
||||
set(FTD2XX_VOL D2XX${FTD2XX_VER})
|
||||
@ -178,7 +203,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(FTD2XX_MOUNTED_FOLDER /Volumes/dmg)
|
||||
set(FTD2XX_SUBFOLDER macos)
|
||||
else()
|
||||
set(FTD2XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/linux_setup_ftd3xx.sh)
|
||||
set(FTD2XX_BUILD_COMMAND ${SETUP_SCRIPTS_DIR}/linux_setup_ftd3xx)
|
||||
set(FTD2XX_URL_TIME 2022/07)
|
||||
set(FTD2XX_VER 1.4.27)
|
||||
if((${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm"))
|
||||
@ -236,57 +261,37 @@ file(MAKE_DIRECTORY ${ftd2xx_BINARY_DIR}/macos)
|
||||
file(MAKE_DIRECTORY ${ftd2xx_BINARY_DIR}/linux)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
ExternalProject_Add(FTD3XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd3xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd3xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD3XX_BUILD_COMMAND} ${ftd3xx_SOURCE_DIR}/${FTD3XX_ARCHIVE} ${FTD3XX_MOUNTED_FOLDER} ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${FTD3XX_LIB}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
ExternalProject_Add(FTD2XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd2xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd2xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD2XX_BUILD_COMMAND} ${ftd2xx_SOURCE_DIR}/${FTD2XX_ARCHIVE} ${FTD2XX_MOUNTED_FOLDER} ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER} ${FTD2XX_LIB}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
set(FTD3XX_BUILD_COMMAND_PARAMETERS ${ftd3xx_SOURCE_DIR}/${FTD3XX_ARCHIVE} ${FTD3XX_MOUNTED_FOLDER} ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${FTD3XX_LIB})
|
||||
set(FTD2XX_BUILD_COMMAND_PARAMETERS ${ftd2xx_SOURCE_DIR}/${FTD2XX_ARCHIVE} ${FTD2XX_MOUNTED_FOLDER} ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER} ${FTD2XX_LIB})
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
ExternalProject_Add(FTD3XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd3xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd3xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD3XX_BUILD_COMMAND} ${ftd3xx_SOURCE_DIR} ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${FTD3XX_PRE_WINDOWS_PATH}/${FTD3XX_LIB}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
ExternalProject_Add(FTD2XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd2xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd2xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD2XX_BUILD_COMMAND} ${ftd2xx_SOURCE_DIR} ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER} ${FTD2XX_PRE_WINDOWS_PATH}/${FTD2XX_LIB} ${FTD2XX_HEADER_PATH}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
else()
|
||||
ExternalProject_Add(FTD3XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd3xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd3xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD3XX_BUILD_COMMAND} ${ftd3xx_SOURCE_DIR} ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${FTD3XX_LIB}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
ExternalProject_Add(FTD2XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd2xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd2xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD2XX_BUILD_COMMAND} ${ftd2xx_SOURCE_DIR} ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER} build/${FTD2XX_LIB}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
set(FTD3XX_BUILD_COMMAND_PARAMETERS ${ftd3xx_SOURCE_DIR} ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${FTD3XX_PRE_WINDOWS_PATH}/${FTD3XX_LIB})
|
||||
if(WINDOWS_FTD3XX_USE_SHARED_LIB)
|
||||
set(FTD3XX_BUILD_COMMAND_PARAMETERS ${FTD3XX_BUILD_COMMAND_PARAMETERS} ${FTD3XX_PRE_WINDOWS_PATH}/${FTD3XX_DLL})
|
||||
endif()
|
||||
set(FTD2XX_BUILD_COMMAND_PARAMETERS ${ftd2xx_SOURCE_DIR} ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER} ${FTD2XX_PRE_WINDOWS_PATH}/${FTD2XX_LIB} ${FTD2XX_HEADER_PATH})
|
||||
if(WINDOWS_FTD2XX_USE_SHARED_LIB)
|
||||
set(FTD2XX_BUILD_COMMAND_PARAMETERS ${FTD2XX_BUILD_COMMAND_PARAMETERS} ${FTD2XX_PRE_WINDOWS_PATH}/${FTD2XX_DLL})
|
||||
endif()
|
||||
else()
|
||||
set(FTD3XX_BUILD_COMMAND_PARAMETERS ${ftd3xx_SOURCE_DIR} ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${FTD3XX_LIB})
|
||||
set(FTD2XX_BUILD_COMMAND_PARAMETERS ${ftd2xx_SOURCE_DIR} ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER} build/${FTD2XX_LIB})
|
||||
endif()
|
||||
ExternalProject_Add(FTD3XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd3xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd3xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD3XX_BUILD_COMMAND}${SCRIPT_EXTENSION} ${FTD3XX_BUILD_COMMAND_PARAMETERS}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
ExternalProject_Add(FTD2XX_BUILD_PROJECT
|
||||
SOURCE_DIR ${ftd2xx_SOURCE_DIR}
|
||||
BINARY_DIR ${ftd2xx_BINARY_DIR}
|
||||
BUILD_COMMAND ${FTD2XX_BUILD_COMMAND}${SCRIPT_EXTENSION} ${FTD2XX_BUILD_COMMAND_PARAMETERS}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
@ -312,8 +317,8 @@ target_compile_options(${OUTPUT_NAME} PRIVATE ${EXTRA_CXX_FLAGS})
|
||||
add_custom_command(
|
||||
OUTPUT ${TOOLS_DATA_DIR}/font_ttf.cpp
|
||||
COMMENT "Convert font to binary"
|
||||
COMMAND ${TOOLS_DATA_DIR}/CMakeBin2C${FINAL_EXTENSION} ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR} font_ttf font_ttf
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR}/CMakeBin2C${FINAL_EXTENSION}
|
||||
COMMAND ${TOOLS_DATA_DIR}/CMakeBin2C${HOST_FINAL_EXTENSION} ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR} font_ttf font_ttf
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR}/CMakeBin2C${HOST_FINAL_EXTENSION}
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
@ -332,6 +337,22 @@ if(WIN32)
|
||||
VERBATIM
|
||||
)
|
||||
endif()
|
||||
if(WINDOWS_FTD3XX_USE_SHARED_LIB)
|
||||
add_custom_command(
|
||||
TARGET ${OUTPUT_NAME}
|
||||
COMMENT "Copy FTD3XX DLL"
|
||||
POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER}/${FTD3XX_DLL} ${CMAKE_SOURCE_DIR}
|
||||
VERBATIM
|
||||
)
|
||||
endif()
|
||||
if(WINDOWS_FTD2XX_USE_SHARED_LIB)
|
||||
add_custom_command(
|
||||
TARGET ${OUTPUT_NAME}
|
||||
COMMENT "Copy FTD2XX DLL"
|
||||
POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${ftd2xx_BINARY_DIR}/${FTD2XX_SUBFOLDER}/${FTD2XX_DLL} ${CMAKE_SOURCE_DIR}
|
||||
VERBATIM
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
@ -350,6 +371,12 @@ install(FILES LICENSE README.md DESTINATION .)
|
||||
install(DIRECTORY "other licenses" DESTINATION .)
|
||||
if(WIN32)
|
||||
install(FILES openal32.dll DESTINATION .)
|
||||
if(WINDOWS_FTD3XX_USE_SHARED_LIB)
|
||||
install(FILES ${FTD3XX_DLL} DESTINATION .)
|
||||
endif()
|
||||
if(WINDOWS_FTD2XX_USE_SHARED_LIB)
|
||||
install(FILES ${FTD2XX_DLL} DESTINATION .)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
@ -365,7 +392,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
add_custom_command(
|
||||
TARGET ${OUTPUT_NAME}
|
||||
COMMENT "Prepare bundle"
|
||||
POST_BUILD COMMAND ${SETUP_SCRIPTS_DIR}/macos_bundle_setup.sh ${FW_APP}/Contents/MacOS/${OUTPUT_NAME} ${FW_DIRS} ${FW_APP}/Contents/Frameworks
|
||||
POST_BUILD COMMAND ${SETUP_SCRIPTS_DIR}/macos_bundle_setup${SCRIPT_EXTENSION} ${FW_APP}/Contents/MacOS/${OUTPUT_NAME} ${FW_DIRS} ${FW_APP}/Contents/Frameworks
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
|
2
setup_scripts/windows_setup_ftd2xx.sh
Normal file
2
setup_scripts/windows_setup_ftd2xx.sh
Normal file
@ -0,0 +1,2 @@
|
||||
cp ${1}/${3} ${2}
|
||||
cp ${1}/${4} ${2}/ftd2xx.h
|
13
setup_scripts/windows_setup_ftd2xx_dll.bat
Normal file
13
setup_scripts/windows_setup_ftd2xx_dll.bat
Normal file
@ -0,0 +1,13 @@
|
||||
set "a=%~1"
|
||||
set "b=%~2"
|
||||
set "c=%~3"
|
||||
set "d=%~4"
|
||||
set "e=%~5"
|
||||
set "a=%a:/=\%"
|
||||
set "b=%b:/=\%"
|
||||
set "c=%c:/=\%"
|
||||
set "d=%d:/=\%"
|
||||
set "e=%e:/=\%"
|
||||
copy %a%\%c% %b%\
|
||||
copy %a%\%e% %b%\
|
||||
copy %a%\%d% %b%\ftd2xx.h
|
3
setup_scripts/windows_setup_ftd2xx_dll.sh
Normal file
3
setup_scripts/windows_setup_ftd2xx_dll.sh
Normal file
@ -0,0 +1,3 @@
|
||||
cp ${1}/${3} ${2}
|
||||
cp ${1}/${5} ${2}
|
||||
cp ${1}/${4} ${2}/ftd2xx.h
|
2
setup_scripts/windows_setup_ftd3xx.sh
Normal file
2
setup_scripts/windows_setup_ftd3xx.sh
Normal file
@ -0,0 +1,2 @@
|
||||
cp ${1}/${3} ${2}
|
||||
cp ${1}/FTD3XX.h ${2}/ftd3xx.h
|
11
setup_scripts/windows_setup_ftd3xx_dll.bat
Normal file
11
setup_scripts/windows_setup_ftd3xx_dll.bat
Normal file
@ -0,0 +1,11 @@
|
||||
set "a=%~1"
|
||||
set "b=%~2"
|
||||
set "c=%~3"
|
||||
set "d=%~4"
|
||||
set "a=%a:/=\%"
|
||||
set "b=%b:/=\%"
|
||||
set "c=%c:/=\%"
|
||||
set "d=%d:/=\%"
|
||||
copy %a%\%c% %b%\
|
||||
copy %a%\%d% %b%\
|
||||
copy %a%\FTD3XX.h %b%\ftd3xx.h
|
3
setup_scripts/windows_setup_ftd3xx_dll.sh
Normal file
3
setup_scripts/windows_setup_ftd3xx_dll.sh
Normal file
@ -0,0 +1,3 @@
|
||||
cp ${1}/${3} ${2}
|
||||
cp ${1}/${4} ${2}
|
||||
cp ${1}/FTD3XX.h ${2}/ftd3xx.h
|
3
setup_scripts/windows_setup_ftd3xx_winusb.sh
Normal file
3
setup_scripts/windows_setup_ftd3xx_winusb.sh
Normal file
@ -0,0 +1,3 @@
|
||||
unzip ${1}/WU_FTD3XXLib.zip
|
||||
cp ${1}/WU_FTD3XXLib/Lib/${3} ${2}
|
||||
cp ${1}/WU_FTD3XXLib/Lib/*.h ${2}
|
12
setup_scripts/windows_setup_ftd3xx_winusb_dll.bat
Normal file
12
setup_scripts/windows_setup_ftd3xx_winusb_dll.bat
Normal file
@ -0,0 +1,12 @@
|
||||
set "a=%~1"
|
||||
set "b=%~2"
|
||||
set "c=%~3"
|
||||
set "d=%~4"
|
||||
set "a=%a:/=\%"
|
||||
set "b=%b:/=\%"
|
||||
set "c=%c:/=\%"
|
||||
set "d=%d:/=\%"
|
||||
unzip %a%\WU_FTD3XXLib.zip -d %a%
|
||||
copy %a%\WU_FTD3XXLib\Lib\%c% %b%\
|
||||
copy %a%\WU_FTD3XXLib\Lib\%d% %b%\
|
||||
copy %a%\WU_FTD3XXLib\Lib\FTD3XX.h %b%\ftd3xx.h
|
4
setup_scripts/windows_setup_ftd3xx_winusb_dll.sh
Normal file
4
setup_scripts/windows_setup_ftd3xx_winusb_dll.sh
Normal file
@ -0,0 +1,4 @@
|
||||
unzip ${1}/WU_FTD3XXLib.zip
|
||||
cp ${1}/WU_FTD3XXLib/Lib/${3} ${2}
|
||||
cp ${1}/WU_FTD3XXLib/Lib/${4} ${2}
|
||||
cp ${1}/WU_FTD3XXLib/Lib/*.h ${2}
|
24
toolchains/linux_win32.cmake
Normal file
24
toolchains/linux_win32.cmake
Normal file
@ -0,0 +1,24 @@
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86)
|
||||
|
||||
# which C and C++ compiler to use
|
||||
set(CMAKE_C_COMPILER "/usr/bin/i686-w64-mingw32-gcc-posix" "-static-libstdc++" "-static-libgcc")
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/i686-w64-mingw32-g++-posix" "-static-libstdc++" "-static-libgcc")
|
||||
|
||||
# here is the target environment located
|
||||
#SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
# This doesn't work on Ubuntu 22.04 due to libkernel32.dll being too old. It does work on 24.01.
|
||||
# For some reason, in windows 32 bit builds, ftd3xx requires some missing
|
||||
# unspecified symbols. For that reason, we link dynamically with it
|
||||
set(FORCE_WINDOWS_FTD3XX_SHARED_LIB ON)
|
||||
# Link with libpthread
|
||||
set(MINGW_CROSS_COMPILATION ON)
|
20
toolchains/linux_win64.cmake
Normal file
20
toolchains/linux_win64.cmake
Normal file
@ -0,0 +1,20 @@
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
# which C and C++ compiler to use
|
||||
set(CMAKE_C_COMPILER "/usr/bin/x86_64-w64-mingw32-gcc-posix" "-static-libstdc++" "-static-libgcc")
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/x86_64-w64-mingw32-g++-posix" "-static-libstdc++" "-static-libgcc")
|
||||
|
||||
# here is the target environment located
|
||||
#SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
# Link with libpthread
|
||||
set(MINGW_CROSS_COMPILATION ON)
|
Loading…
Reference in New Issue
Block a user