I have this CMAKE file.
I want to specify that when on Windows I want both a 32-bit and a 64-bit version of my .dll to be generated
cmake_minimum_required(VERSION 3.26)
project(spotify_excel_test)
set(CMAKE_CXX_STANDARD 20)
include_directories(include)
include_directories(include/tinf)
if(APPLE)
set(CMAKE_OSX_ARCHITECTURES “x86_64;arm64” CACHE STRING “Build architectures for Mac OS X”)
# macOS-specific include directories
include_directories(include/MinXL)
include_directories(include/MinXL/Core)
include_directories(include/MinXL/Core/Implementation)
include_directories(include/MinXL/Core/Interface)
include_directories(include/tinf)
# macOS-specific source files
include/MinXL/Core/Implementation/Array.hpp
include/MinXL/Core/Implementation/String.hpp
include/MinXL/Core/Implementation/Variant.hpp
include/MinXL/Core/Interface/Array.hpp
include/MinXL/Core/Interface/String.hpp
include/MinXL/Core/Interface/Variant.hpp
include/MinXL/Core/Common.hpp
include/MinXL/Core/Exception.hpp
include/MinXL/Core/Types.hpp
elseif(WIN32)
# Windows-specific include directory
# Windows-specific source files
set(WINDOWS_SOURCES
)
endif()
set(COMMON_SOURCES
include/tinf/tinfgzip.c
include/tinf/tinf.h
include/tinf/adler32.c
include/tinf/crc32.c
include/tinf/tinflate.c
include/tinf/tinfzlib.c
#include/test_functions.hpp
)
if(APPLE)
set(ULC_SOURCES ${COMMON_SOURCES} ${MACOS_SOURCES})
elseif(WIN32)
set(ULC_SOURCES ${COMMON_SOURCES} ${WINDOWS_SOURCES})
endif()
add_library(spotify_excel_test SHARED ${ULC_SOURCES})
set(TARGET_DYLIB “libspotify_excel_test.dylib”)
set(DEPLOY_DIR ”${CMAKE_SOURCE_DIR}/../../../../excel/mac/“)
set(DEPLOYED_DYLIB ”${DEPLOY_DIR}/${TARGET_DYLIB}“)
file(MAKE_DIRECTORY ${DEPLOY_DIR})
add_custom_command(TARGET spotify_excel_test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
”$<TARGET_FILE:spotify_excel_test>”
”${DEPLOYED_DYLIB}”
COMMENT “Copying libspotify_excel_test.dylib to deploy directory”
)
add_custom_command(TARGET spotify_excel_test POST_BUILD
COMMAND chmod +x ”${DEPLOY_DIR}/sign_lib.sh”
COMMAND ”${DEPLOY_DIR}/sign_lib.sh” ”${DEPLOYED_DYLIB}”
WORKING_DIRECTORY ${DEPLOY_DIR}
COMMENT “Signing the dynamic library in deploy directory”)
add_custom_command(TARGET spotify_excel_test POST_BUILD
COMMAND chmod +x "${DEPLOY_DIR}/package_sign_notarize.sh"
COMMAND "${DEPLOY_DIR}/package_sign_notarize.sh" "${DEPLOYED_DYLIB}"
WORKING_DIRECTORY ${DEPLOY_DIR}
COMMENT "Packaging and notarizing .dmg")