cmake: merge librw_skeleton_imgui in librw_skeleton

This commit is contained in:
Anonymous Maarten 2021-06-22 22:51:20 +02:00
parent 4a88067d68
commit 60588b7192
15 changed files with 124 additions and 120 deletions

View File

@ -51,8 +51,11 @@ if(NOT COMMAND librw_platform_target)
endfunction() endfunction()
endif() endif()
include(CMakeDependentOption)
option(LIBRW_TOOLS "Build librw tools" ON) option(LIBRW_TOOLS "Build librw tools" ON)
option(LIBRW_INSTALL "Install librw files" OFF) option(LIBRW_INSTALL "Install librw files" OFF)
cmake_dependent_option(LIBRW_EXAMPLES "Build librw examples" ON "NOT LIBRW_PLATFORM_PS2;NOT LIBRW_PLATFORM_NULL" OFF)
if(LIBRW_INSTALL) if(LIBRW_INSTALL)
include(GNUInstallDirs) include(GNUInstallDirs)
@ -61,12 +64,12 @@ endif()
add_subdirectory(src) add_subdirectory(src)
if(LIBRW_TOOLS) if(NOT LIBRW_PLATFORM_PS2 AND NOT LIBRW_PLATFORM_NULL)
add_subdirectory(skeleton) add_subdirectory(skeleton)
add_subdirectory(tools)
endif() endif()
add_subdirectory(tools)
if(LIBRW_INSTALL) if(LIBRW_INSTALL)
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
configure_package_config_file(cmake/librw-config.cmake.in librw-config.cmake configure_package_config_file(cmake/librw-config.cmake.in librw-config.cmake

View File

@ -1,42 +1,68 @@
add_library(librw_skeleton add_library(librw_skeleton
glfw.cpp glfw.cpp
sdl2.cpp sdl2.cpp
skeleton.cpp skeleton.cpp
skeleton.h skeleton.h
win.cpp win.cpp
imgui/imconfig.h
imgui/imgui.cpp
imgui/imgui_demo.cpp
imgui/imgui_draw.cpp
imgui/imgui.h
imgui/imgui_impl_rw.cpp
imgui/imgui_impl_rw.h
imgui/imgui_internal.h
imgui/ImGuizmo.cpp
imgui/ImGuizmo.h
imgui/stb_rect_pack.h
imgui/stb_textedit.h
imgui/stb_truetype.h
) )
add_library(librw::skeleton ALIAS librw_skeleton)
set_target_properties(librw_skeleton set_target_properties(librw_skeleton
PROPERTIES PROPERTIES
PREFIX "" PREFIX ""
EXPORT_NAME skeleton
) )
target_link_libraries(librw_skeleton target_link_libraries(librw_skeleton
PUBLIC PRIVATE
librw librw
) )
target_include_directories(librw_skeleton target_include_directories(librw_skeleton
INTERFACE PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${LIBRW_INSTALL_INCLUDEDIR}/skeleton>
) )
if(NOT LIBRW_PLATFORM_PS2 AND NOT LIBRW_PLATFORM_NULL)
add_subdirectory(imgui)
endif()
if(LIBRW_INSTALL) if(LIBRW_INSTALL)
target_include_directories(librw_skeleton
INTERFACE
$<INSTALL_INTERFACE:${LIBRW_INSTALL_INCLUDEDIR}/skeleton>
)
install( install(
FILES FILES
skeleton.h skeleton.h
DESTINATION "${LIBRW_INSTALL_INCLUDEDIR}/skeleton" DESTINATION "${LIBRW_INSTALL_INCLUDEDIR}/skeleton"
) )
install(
FILES
imgui/imconfig.h
imgui/imgui.h
imgui/imgui_impl_rw.h
imgui/imgui_internal.h
imgui/ImGuizmo.h
imgui/stb_textedit.h
DESTINATION "${LIBRW_INSTALL_INCLUDEDIR}/skeleton/imgui"
)
install(
FILES
imgui/LICENSE_imgui.txt
imgui/LICENSE_imguizmo.txt
DESTINATION "${CMAKE_INSTALL_DOCDIR}"
)
install( install(
TARGETS librw_skeleton TARGETS librw_skeleton
EXPORT librw-targets EXPORT librw-targets

View File

@ -1,46 +0,0 @@
add_library(librw_skeleton_imgui
imconfig.h
imgui.cpp
imgui_demo.cpp
imgui_draw.cpp
imgui.h
imgui_impl_rw.cpp
imgui_impl_rw.h
imgui_internal.h
ImGuizmo.cpp
ImGuizmo.h
stb_rect_pack.h
stb_textedit.h
stb_truetype.h
)
set_target_properties(librw_skeleton_imgui
PROPERTIES
PREFIX ""
)
target_link_libraries(librw_skeleton_imgui
PUBLIC
librw_skeleton
)
if(LIBRW_INSTALL)
install(
FILES
imconfig.h
imgui.h
imgui_impl_rw.h
imgui_internal.h
ImGuizmo.h
stb_textedit.h
DESTINATION "${LIBRW_INSTALL_INCLUDEDIR}/skeleton/imgui"
)
install(
TARGETS librw_skeleton_imgui
EXPORT librw-targets
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
)
endif()

View File

@ -100,6 +100,7 @@ add_library(librw::librw ALIAS librw)
target_include_directories(librw target_include_directories(librw
INTERFACE INTERFACE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${LIBRW_INSTALL_INCLUDEDIR}>
) )
target_compile_definitions(librw target_compile_definitions(librw
@ -153,7 +154,7 @@ if(LIBRW_PLATFORM_GL3)
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
target_link_libraries(librw target_link_libraries(librw
PUBLIC PRIVATE
OpenGL::GL OpenGL::GL
) )
endif() endif()
@ -171,35 +172,24 @@ if(LIBRW_PLATFORM_GL3)
PUBLIC PUBLIC
SDL2::SDL2 SDL2::SDL2
) )
if(TARGET SDL2::SDL2main)
target_link_libraries(librw
PUBLIC
SDL2::SDL2main
)
endif()
endif() endif()
if(NINTENDO_SWITCH) if(NINTENDO_SWITCH)
find_package(NXGL REQUIRED) find_package(NXGL REQUIRED)
target_link_libraries(librw target_link_libraries(librw
PUBLIC PRIVATE
NXGL::OpenGL NXGL::OpenGL
) )
endif() endif()
elseif(LIBRW_PLATFORM_D3D9) elseif(LIBRW_PLATFORM_D3D9)
target_link_libraries(librw target_link_libraries(librw
PUBLIC PRIVATE
d3d9 d3d9
xinput xinput
) )
endif() endif()
if(LIBRW_INSTALL) if(LIBRW_INSTALL)
target_include_directories(librw
INTERFACE
$<INSTALL_INTERFACE:${LIBRW_INSTALL_INCLUDEDIR}>
)
install( install(
FILES FILES
"${PROJECT_SOURCE_DIR}/args.h" "${PROJECT_SOURCE_DIR}/args.h"

View File

@ -1,18 +1,20 @@
if(NOT LIBRW_PLATFORM_PS2) if(LIBRW_TOOLS AND NOT LIBRW_PLATFORM_PS2)
add_subdirectory(dumprwtree) add_subdirectory(dumprwtree)
add_subdirectory(ska2anm) add_subdirectory(ska2anm)
endif() endif()
if(TARGET librw_skeleton_imgui) if(LIBRW_EXAMPLES)
add_subdirectory(imguitest) if(TARGET librw::skeleton)
add_subdirectory(playground) add_subdirectory(imguitest)
add_subdirectory(lights) add_subdirectory(playground)
add_subdirectory(subrast) add_subdirectory(lights)
add_subdirectory(camera) add_subdirectory(subrast)
add_subdirectory(im2d) add_subdirectory(camera)
add_subdirectory(im3d) add_subdirectory(im2d)
endif() add_subdirectory(im3d)
endif()
if(LIBRW_PLATFORM_PS2) if(LIBRW_PLATFORM_PS2)
add_subdirectory(ps2test) add_subdirectory(ps2test)
endif()
endif() endif()

View File

@ -1,15 +1,18 @@
add_executable(camera WIN32 add_executable(camera WIN32
main.cpp camexamp.cpp viewer.cpp main.cpp
camexamp.cpp
viewer.cpp
) )
target_link_libraries(camera target_link_libraries(camera
PUBLIC PRIVATE
librw librw_skeleton librw_skeleton_imgui librw::skeleton
librw::librw
) )
add_custom_command( add_custom_command(
TARGET camera POST_BUILD TARGET camera POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/files" "$<TARGET_FILE_DIR:camera>/files" COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/files" "$<TARGET_FILE_DIR:camera>/files"
) )
librw_platform_target(camera) librw_platform_target(camera)

View File

@ -3,8 +3,8 @@ add_executable(dumprwtree
) )
target_link_libraries(dumprwtree target_link_libraries(dumprwtree
PUBLIC PRIVATE
librw librw::librw
) )
if(LIBRW_INSTALL) if(LIBRW_INSTALL)

View File

@ -1,10 +1,17 @@
add_executable(im2d WIN32 add_executable(im2d WIN32
im2d.cpp linelist.cpp main.cpp polyline.cpp trifan.cpp trilist.cpp tristrip.cpp im2d.cpp
linelist.cpp
main.cpp
polyline.cpp
trifan.cpp
trilist.cpp
tristrip.cpp
) )
target_link_libraries(im2d target_link_libraries(im2d
PUBLIC PRIVATE
librw librw_skeleton librw_skeleton_imgui librw::skeleton
librw::librw
) )
add_custom_command( add_custom_command(

View File

@ -1,10 +1,17 @@
add_executable(im3d WIN32 add_executable(im3d WIN32
im3d.cpp linelist.cpp main.cpp polyline.cpp trifan.cpp trilist.cpp tristrip.cpp im3d.cpp
linelist.cpp
main.cpp
polyline.cpp
trifan.cpp
trilist.cpp
tristrip.cpp
) )
target_link_libraries(im3d target_link_libraries(im3d
PUBLIC PRIVATE
librw librw_skeleton librw_skeleton_imgui librw::skeleton
librw::librw
) )
add_custom_command( add_custom_command(

View File

@ -4,8 +4,8 @@ add_executable(imguitest WIN32
target_link_libraries(imguitest target_link_libraries(imguitest
PUBLIC PUBLIC
librw librw::skeleton
librw_skeleton_imgui librw::librw
) )
if(LIBRW_INSTALL) if(LIBRW_INSTALL)

View File

@ -1,10 +1,12 @@
add_executable(lights WIN32 add_executable(lights WIN32
main.cpp lights.cpp main.cpp
lights.cpp
) )
target_link_libraries(lights target_link_libraries(lights
PUBLIC PRIVATE
librw librw_skeleton librw_skeleton_imgui librw::skeleton
librw::librw
) )
add_custom_command( add_custom_command(

View File

@ -1,10 +1,16 @@
add_executable(playground WIN32 add_executable(playground WIN32
camera.cpp font.cpp main.cpp ras_test.cpp splines.cpp tl_tests.cpp camera.cpp
font.cpp
main.cpp
ras_test.cpp
splines.cpp
tl_tests.cpp
) )
target_link_libraries(playground target_link_libraries(playground
PUBLIC PRIVATE
librw librw_skeleton_imgui librw::skeleton
librw::librw
) )
add_custom_command( add_custom_command(

View File

@ -8,18 +8,15 @@ add_executable(ps2test
) )
target_link_libraries(ps2test target_link_libraries(ps2test
PUBLIC PRIVATE
librw librw::librw
kernel kernel
) )
add_erl_executable(PS2TEST_ERL ps2test) librw_platform_target(ps2test)
if(LIBRW_INSTALL) if(LIBRW_INSTALL)
install(TARGETS ps2test install(TARGETS ps2test
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
) )
install(FILES "${PS2TEST_ERL}"
DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
endif() endif()

View File

@ -4,7 +4,13 @@ add_executable(ska2anm
target_link_libraries(ska2anm target_link_libraries(ska2anm
PUBLIC PUBLIC
librw librw::librw
) )
librw_platform_target(ska2anm) librw_platform_target(ska2anm INSTALL)
if(LIBRW_INSTALL)
install(TARGETS ska2anm
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
endif()

View File

@ -4,7 +4,8 @@ add_executable(subrast WIN32
target_link_libraries(subrast target_link_libraries(subrast
PUBLIC PUBLIC
librw librw_skeleton librw_skeleton_imgui librw::skeleton
librw::librw
) )
librw_platform_target(subrast) librw_platform_target(subrast)