Merge in CMake stuff

# Conflicts:
#	.gitignore
This commit is contained in:
Loki Rautio
2026-04-15 18:35:27 -05:00
7 changed files with 146 additions and 1 deletions

2
.gitignore vendored
View File

@@ -448,4 +448,4 @@ PS_Standard.h
PS_TextureProjection.h
PS_ForceLOD.h
PS_ScreenSpace.h
PS_ScreenClear.h
PS_ScreenClear.h

6
CMakeLists.txt Normal file
View File

@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(4JLibs LANGUAGES CXX)
# TODO: target selection?
add_subdirectory(Windows_Libs/Dev)

View File

@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(4JLibs.Windows LANGUAGES CXX)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
add_subdirectory(Input)
add_subdirectory(Profile)
add_subdirectory(Render)
add_subdirectory(Storage)

View File

@@ -0,0 +1,26 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(4JLibs.Windows.Input LANGUAGES CXX)
add_library(${PROJECT_NAME} STATIC
4J_Input.cpp
INP_ForceFeedback.cpp
INP_Keyboard.cpp
INP_Main.cpp
INP_StringCheck.cpp
LinkedList.cpp
stdafx.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
target_precompile_headers(${PROJECT_NAME} PRIVATE
stdafx.h
)
set_target_properties(${PROJECT_NAME} PROPERTIES
PREFIX ""
OUTPUT_NAME "4J_Input"
)

View File

@@ -0,0 +1,26 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(4JLibs.Windows.Profile LANGUAGES CXX)
add_library(${PROJECT_NAME} STATIC
4J_Profile.cpp
PRO_AwardManager.cpp
PRO_Data.cpp
PRO_Main.cpp
PRO_RichPresence.cpp
PRO_Sys.cpp
stdafx.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
target_precompile_headers(${PROJECT_NAME} PRIVATE
stdafx.h
)
set_target_properties(${PROJECT_NAME} PROPERTIES
PREFIX ""
OUTPUT_NAME "4J_Profile"
)

View File

@@ -0,0 +1,53 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(4JLibs.Windows.Render LANGUAGES C CXX)
set(LIBPNG_SOURCES
libpng/png.c
libpng/pngerror.c
libpng/pngget.c
libpng/pngmem.c
libpng/pngpread.c
libpng/pngread.c
libpng/pngrio.c
libpng/pngrtran.c
libpng/pngrutil.c
libpng/pngset.c
libpng/pngtest.c
libpng/pngtrans.c
libpng/pngwio.c
libpng/pngwrite.c
libpng/pngwtran.c
libpng/pngwutil.c
)
add_library(${PROJECT_NAME} STATIC
${LIBPNG_SOURCES}
4J_Render.cpp
RendererCBuff.cpp
RendererCore.cpp
RendererMatrix.cpp
RendererState.cpp
RendererTexture.cpp
RendererVertex.cpp
stdafx.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/zlib
)
target_precompile_headers(${PROJECT_NAME} PRIVATE
stdafx.h
)
set_target_properties(${PROJECT_NAME} PROPERTIES
PREFIX ""
OUTPUT_NAME "4J_Render"
)
set_source_files_properties(${LIBPNG_SOURCES} PROPERTIES
LANGUAGE C
SKIP_PRECOMPILE_HEADERS ON
)

View File

@@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(4JLibs.Windows.Storage LANGUAGES C CXX)
add_library(${PROJECT_NAME} STATIC
4J_Storage.cpp
stdafx.cpp
STO_DLC.cpp
STO_Main.cpp
STO_SaveGame.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
target_precompile_headers(${PROJECT_NAME} PRIVATE
stdafx.h
)
set_target_properties(${PROJECT_NAME} PROPERTIES
PREFIX ""
OUTPUT_NAME "4J_Storage"
)