From 4c7aedcf4ec4a93b0b3ab3f8ab68fe804a1e21cd Mon Sep 17 00:00:00 2001 From: whitequark Date: Tue, 23 Jun 2020 10:14:40 +0000 Subject: CMake: promote bba to a true subproject. --- CMakeLists.txt | 16 +++++++++++++++- bba/CMakeLists.txt | 15 +++++++++++++++ bba/bba.cmake | 21 --------------------- 3 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 bba/CMakeLists.txt delete mode 100644 bba/bba.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 21133e3d..e3630fde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -238,7 +238,21 @@ if(MINGW) add_definitions("-Wa,-mbig-obj") endif(MINGW) -include(bba/bba.cmake) +if(CMAKE_CROSSCOMPILING) + set(BBA_IMPORT "IMPORTFILE-NOTFOUND" CACHE FILEPATH + "Path to the `bba-export.cmake` export file from a native build") + include(${BBA_IMPORT}) +else() + add_subdirectory(bba) +endif() + +include(TestBigEndian) +test_big_endian(IS_BIG_ENDIAN) +if(IS_BIG_ENDIAN) + set(BBASM_ENDIAN_FLAG "--be") +else() + set(BBASM_ENDIAN_FLAG "--le") +endif() foreach (family ${ARCH}) message(STATUS "Configuring architecture : ${family}") diff --git a/bba/CMakeLists.txt b/bba/CMakeLists.txt new file mode 100644 index 00000000..e06d8b1d --- /dev/null +++ b/bba/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.3) +project(bba) + +find_package(Boost REQUIRED COMPONENTS + program_options + filesystem + system) + +add_executable(bbasm + main.cc) +target_link_libraries(bbasm LINK_PRIVATE + ${Boost_PROGRAM_OPTIONS_LIBRARY} + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY}) +export(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/bba-export.cmake) diff --git a/bba/bba.cmake b/bba/bba.cmake deleted file mode 100644 index f1f5a754..00000000 --- a/bba/bba.cmake +++ /dev/null @@ -1,21 +0,0 @@ -IF(CMAKE_CROSSCOMPILING) - SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Point it to the export file from a native build") - INCLUDE(${IMPORT_EXECUTABLES}) -ENDIF(CMAKE_CROSSCOMPILING) - -IF(NOT CMAKE_CROSSCOMPILING) - ADD_EXECUTABLE(bbasm bba/main.cc) - target_link_libraries(bbasm LINK_PUBLIC ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY}) -ENDIF(NOT CMAKE_CROSSCOMPILING) - -IF(NOT CMAKE_CROSSCOMPILING) - EXPORT(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake ) -ENDIF(NOT CMAKE_CROSSCOMPILING) - -include(TestBigEndian) -TEST_BIG_ENDIAN(IS_BIG_ENDIAN) -if(IS_BIG_ENDIAN) - set(BBASM_ENDIAN_FLAG "--be") -else() - set(BBASM_ENDIAN_FLAG "--le") -endif() -- cgit v1.2.3