47 lines
2.3 KiB
CMake
47 lines
2.3 KiB
CMake
if(MINGW AND CMAKE_CROSSCOMPILING)
|
|
set(CONFIGURE_COMMAND ./configure --host=${HOST} --target=${HOST} --without-cxx-binding --enable-shared --prefix=${CMAKE_BINARY_DIR}/external/dist --without-libusb CFLAGS=-g\ -O2\ -fstack-protector CXXFLAGS=-g\ -O2\ -fstack-protector)
|
|
set(HAMLIB_PATCH_CMD patch -p1 < ${CMAKE_SOURCE_DIR}/hamlib-windows.patch)
|
|
else(MINGW AND CMAKE_CROSSCOMPILING)
|
|
set(HAMLIB_PATCH_CMD "")
|
|
if(APPLE)
|
|
if(BUILD_OSX_UNIVERSAL)
|
|
set(CONFIGURE_COMMAND ./configure --enable-shared --prefix=${CMAKE_BINARY_DIR}/external/dist --without-cxx-binding --without-libusb CFLAGS=-g\ -O2\ -mmacosx-version-min=10.9\ -arch\ x86_64\ -arch\ arm64 CXXFLAGS=-g\ -O2\ -mmacosx-version-min=10.9\ -arch\ x86_64\ -arch\ arm64)
|
|
else()
|
|
set(CONFIGURE_COMMAND ./configure --enable-shared --prefix=${CMAKE_BINARY_DIR}/external/dist --without-cxx-binding --without-libusb CFLAGS=-g\ -O2\ -mmacosx-version-min=10.9 CXXFLAGS=-g\ -O2\ -mmacosx-version-min=10.9)
|
|
endif(BUILD_OSX_UNIVERSAL)
|
|
else()
|
|
set(CONFIGURE_COMMAND ./configure --enable-shared --prefix=${CMAKE_BINARY_DIR}/external/dist --without-cxx-binding --without-libusb CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER})
|
|
endif()
|
|
endif(MINGW AND CMAKE_CROSSCOMPILING)
|
|
|
|
include(ExternalProject)
|
|
ExternalProject_Add(build_hamlib
|
|
URL https://github.com/Hamlib/Hamlib/archive/refs/heads/Hamlib-4.5.5.zip
|
|
BUILD_IN_SOURCE 1
|
|
INSTALL_DIR external/dist
|
|
PATCH_COMMAND ${HAMLIB_PATCH_CMD}
|
|
CONFIGURE_COMMAND ./bootstrap && ${CONFIGURE_COMMAND}
|
|
BUILD_COMMAND $(MAKE)
|
|
INSTALL_COMMAND $(MAKE) install
|
|
)
|
|
|
|
ExternalProject_Get_Property(build_hamlib BINARY_DIR)
|
|
ExternalProject_Get_Property(build_hamlib SOURCE_DIR)
|
|
add_library(hamlib SHARED IMPORTED)
|
|
|
|
set_target_properties(hamlib PROPERTIES
|
|
IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/external/dist/lib/libhamlib${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
IMPORTED_IMPLIB "${CMAKE_BINARY_DIR}/external/dist/lib/libhamlib${CMAKE_IMPORT_LIBRARY_SUFFIX}"
|
|
)
|
|
|
|
message(STATUS "hamlib path" "${CMAKE_BINARY_DIR}/external/dist/lib/libhamlib${CMAKE_IMPORT_LIBRARY_SUFFIX}")
|
|
|
|
add_dependencies(hamlib build_hamlib)
|
|
include_directories(${CMAKE_BINARY_DIR}/external/dist/include)
|
|
|
|
list(APPEND FREEDV_LINK_LIBS hamlib)
|
|
list(APPEND FREEDV_STATIC_DEPS hamlib)
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector")
|