From 0ec7d189b22fb47dc3dff247b697ef14dd0f3264 Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm <philipp@uvos.xyz> Date: Fri, 30 Jun 2023 16:12:19 +0200 Subject: [PATCH] Add windows cross compileing support --- CMakeLists.txt | 10 +++++----- crossW64.cmake | 9 +++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 crossW64.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index bc88785..d8b7966 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,18 +12,18 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(SRC_FILES eismultiplexer.c usbshm.c) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) -target_link_libraries(${PROJECT_NAME} ${LIBUSB_LIBRARIES} -pthread) +target_link_libraries(${PROJECT_NAME} ${LIBUSB_LIBRARIES}) target_include_directories(${PROJECT_NAME} PUBLIC ${LIBUSB_INCLUDE_DIRS}) add_definitions("-std=c17 -Wall -O2 -fno-strict-aliasing") install(TARGETS ${PROJECT_NAME} DESTINATION lib) install(FILES ./eismultiplexer.h DESTINATION include) link_directories(${CMAKE_CURRENT_BINARY_DIR}) -add_executable(${PROJECT_NAME}_test main.c) -add_dependencies(${PROJECT_NAME}_test ${PROJECT_NAME}) -target_link_libraries( ${PROJECT_NAME}_test -l${PROJECT_NAME}) +add_executable(${PROJECT_NAME}_cli main.c) +add_dependencies(${PROJECT_NAME}_cli ${PROJECT_NAME}) +target_link_libraries( ${PROJECT_NAME}_cli ${PROJECT_NAME}) add_definitions("-std=c17 -Wall -O2 -fno-strict-aliasing") -install(TARGETS ${PROJECT_NAME}_test DESTINATION bin) +install(TARGETS ${PROJECT_NAME}_cli DESTINATION bin) configure_file(pkgconfig/eismuliplexer.pc.in pkgconfig/eismuliplexer.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/eismuliplexer.pc DESTINATION lib/pkgconfig) diff --git a/crossW64.cmake b/crossW64.cmake new file mode 100644 index 0000000..250001d --- /dev/null +++ b/crossW64.cmake @@ -0,0 +1,9 @@ +set(CMAKE_SYSTEM_NAME Windows) +set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) +set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) +set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_EXE_LINKER_FLAGS "-static") +set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") -- GitLab