Skip to content

Commit 67e2a7f

Browse files
authored
Clean up of CMakeLists.txt and building system (#579)
Replace the package assemble scripts with a cmake target
1 parent 0b8e75c commit 67e2a7f

File tree

5 files changed

+30
-139
lines changed

5 files changed

+30
-139
lines changed

CMakeLists.txt

+9
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ endif()
6868
if(APPLE)
6969
set(CMAKE_MACOSX_RPATH ON)
7070
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
71+
72+
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")
73+
set(CMAKE_OSX_ARCHITECTURES "arm64" CACHE INTERNAL "" FORCE)
74+
message(STATUS "Apple Silicon detected, building for arm64")
75+
else()
76+
set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE INTERNAL "" FORCE)
77+
message(STATUS "Intel CPU detected, building for x86_64")
78+
endif()
7179
endif(APPLE)
7280

7381

@@ -93,6 +101,7 @@ endif()
93101
#-----------------------------------------------------------------------------------------------------------------------
94102

95103
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
104+
set(VIZDOOM_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
96105
set(VIZDOOM_OUTPUT_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
97106
set(VIZDOOM_SCRIPTS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/scripts)
98107
set(VIZDOOM_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)

scripts/assemble_pip_package.bat

-61
This file was deleted.

scripts/assemble_pip_package.sh

-60
This file was deleted.

src/lib_python/CMakeLists.txt

+17-12
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ if(WIN32)
1313
endif()
1414

1515
set(VIZDOOM_PYTHON_OUTPUT_DIR ${VIZDOOM_OUTPUT_DIR}/python${BUILD_PYTHON_VERSION})
16+
set(VIZDOOM_PYTHON_PACKAGE_DIR ${VIZDOOM_PYTHON_OUTPUT_DIR}/vizdoom)
1617
set(VIZDOOM_PYTHON_SRC_DIR ${VIZDOOM_SRC_DIR}/lib_python)
1718
set(VIZDOOM_PYTHON_INCLUDE_DIR ${VIZDOOM_INCLUDE_DIR} ${VIZDOOM_PYTHON_SRC_DIR})
1819

@@ -70,19 +71,23 @@ set_target_properties(libvizdoom_python
7071
OUTPUT_NAME vizdoom
7172
PROJECT_LABEL "python${BUILD_PYTHON_VERSION} binding")
7273

73-
if(UNIX)
74-
add_custom_target(python_pip_package ALL
75-
COMMAND ${VIZDOOM_SCRIPTS_DIR}/assemble_pip_package.sh ${BUILD_PYTHON_VERSION} ${VIZDOOM_OUTPUT_DIR} ${CMAKE_SOURCE_DIR}
76-
COMMENT "Assembling pip package in ${VIZDOOM_PYTHON_OUTPUT_DIR}/vizdoom")
77-
elseif(WIN32)
78-
add_custom_target(python_pip_package ALL
79-
COMMAND ${VIZDOOM_SCRIPTS_DIR}/assemble_pip_package.bat ${BUILD_PYTHON_VERSION} ${VIZDOOM_OUTPUT_DIR} ${CMAKE_SOURCE_DIR}
80-
COMMENT "Assembling pip package in ${VIZDOOM_PYTHON_OUTPUT_DIR}/vizdoom")
81-
endif()
74+
add_custom_target(assemble_package ALL
75+
COMMAND ${CMAKE_COMMAND} -E make_directory ${VIZDOOM_PYTHON_PACKAGE_DIR}
76+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:libvizdoom_python> ${VIZDOOM_PYTHON_PACKAGE_DIR}
77+
COMMAND ${CMAKE_COMMAND} -E copy ${VIZDOOM_PYTHON_SRC_DIR}/__init__.py ${VIZDOOM_PYTHON_PACKAGE_DIR}
78+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vizdoom> ${VIZDOOM_PYTHON_PACKAGE_DIR}
79+
COMMAND ${CMAKE_COMMAND} -E copy ${VIZDOOM_OUTPUT_DIR}/vizdoom.pk3 ${VIZDOOM_PYTHON_PACKAGE_DIR}
80+
COMMAND ${CMAKE_COMMAND} -E copy ${VIZDOOM_SRC_DIR}/bots.cfg ${VIZDOOM_PYTHON_PACKAGE_DIR}
81+
COMMAND ${CMAKE_COMMAND} -E copy ${VIZDOOM_SRC_DIR}/freedoom2.wad ${VIZDOOM_PYTHON_PACKAGE_DIR}
82+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${VIZDOOM_ROOT_DIR}/scenarios ${VIZDOOM_PYTHON_PACKAGE_DIR}/scenarios
83+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${VIZDOOM_ROOT_DIR}/gym_wrapper ${VIZDOOM_PYTHON_PACKAGE_DIR}/gym_wrapper
84+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${VIZDOOM_ROOT_DIR}/gymnasium_wrapper ${VIZDOOM_PYTHON_PACKAGE_DIR}/gymnasium_wrapper
85+
COMMENT "Assembling Python package in ${VIZDOOM_PYTHON_OUTPUT_DIR}/vizdoom"
86+
)
8287

83-
set_target_properties(python_pip_package
88+
set_target_properties(assemble_package
8489
PROPERTIES
85-
PROJECT_LABEL "Python module")
90+
PROJECT_LABEL "Python package")
8691

8792
# vizdoom, vizdoom.pk3 are needed to assemble the package
88-
add_dependencies(python_pip_package libvizdoom_python vizdoom pk3)
93+
add_dependencies(assemble_package libvizdoom_python vizdoom pk3)

src/vizdoom/src/CMakeLists.txt

+4-6
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,10 @@ else( WIN32 )
178178
add_definitions( -DNO_GTK=1 )
179179
endif( NO_GTK )
180180

181-
# Non-Windows version also needs SDL except native OS X backend
182-
if( NOT WIN32 )
183-
find_package( SDL2 REQUIRED )
184-
include_directories( "${SDL2_INCLUDE_DIR}" )
185-
set( ZDOOM_LIBS ${ZDOOM_LIBS} "${SDL2_LIBRARY}" )
186-
endif( NOT WIN32 )
181+
# Non-Windows version needs SDL2
182+
find_package( SDL2 REQUIRED )
183+
include_directories( "${SDL2_INCLUDE_DIR}" )
184+
set( ZDOOM_LIBS ${ZDOOM_LIBS} "${SDL2_LIBRARY}" )
187185
endif( WIN32 )
188186

189187

0 commit comments

Comments
 (0)