Skip to content

Commit

Permalink
CMake: update proto scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
Wend4r committed Sep 4, 2024
1 parent 4aa1433 commit 6e37af5
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 37 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ set(PROJECT_DESCRIPTION_FULL "Source SDK toolkit")
string(TIMESTAMP PROJECT_BUILD_DATE "%Y-%m-%d")
string(TIMESTAMP PROJECT_BUILD_TIME "%H:%M:%S")

set(DEVTOOLS_DIR "devtools")
set(DEVTOOLS_BIN_DIR "${DEVTOOLS_DIR}/bin")
set(THIRDPARTY_DIR "thirdparty")
set(PROTOBUF_DIR "${THIRDPARTY_DIR}/protobuf")
set(SOURCESDK_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
Expand Down Expand Up @@ -67,6 +69,7 @@ include("cmake/protobuf/targets/protoc.cmake")

include("cmake/sourcesdk.cmake")
include("cmake/sourcesdk/proto.cmake")
include("cmake/sourcesdk/proto/generate.cmake")
include("cmake/sourcesdk/targets/entity2.cmake")
include("cmake/sourcesdk/targets/interfaces.cmake")
include("cmake/sourcesdk/targets/mathlib.cmake")
Expand Down
37 changes: 0 additions & 37 deletions cmake/sourcesdk/proto.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,6 @@ if(NOT SOURCESDK_DIR)
message(FATAL_ERROR "SOURCESDK_DIR is empty")
endif()

if(NOT SOURCESDK_LIB_DIR)
message(FATAL_ERROR "SOURCESDK_LIB_DIR is empty")
endif()

## Generate protobuf source & headers
if(LINUX)
set(SOURCESDK_PROTOC_EXECUTABLE ${SOURCESDK_DIR}/devtools/bin/linux/protoc)
elseif(WINDOWS)
set(SOURCESDK_PROTOC_EXECUTABLE ${SOURCESDK_DIR}/devtools/bin/protoc.exe)
endif()

set(SOURCESDK_PROTOBUF_SOURCE_DIR "${PROTOBUF_DIR}/src")
list(APPEND SOURCESDK_INCLUDE_DIR ${SOURCESDK_PROTOBUF_SOURCE_DIR})

Expand All @@ -28,32 +17,6 @@ foreach(PROTO_FILE IN LISTS SOURCESDK_PROTO_FILES)
list(APPEND SOURCESDK_PROTO_FILENAME_FILES "${PROTO_FILE}.proto")
endforeach()

set(SOURCESDK_PROTO_PATH_ARGS
${SOURCESDK_PROTO_PATH_ARGS}
)

list(APPEND SOURCESDK_PROTO_DIRS ${SOURCESDK_PROTOBUF_SOURCE_DIR})

foreach(PROTO_DIR IN LISTS SOURCESDK_PROTO_DIRS)
list(APPEND SOURCESDK_PROTO_PATH_ARGS
"--proto_path=${PROTO_DIR}"
)
endforeach()

foreach(PROTO_FILENAME IN LISTS SOURCESDK_PROTO_FILENAME_FILES)
get_filename_component(PROTO_DIR "${PROTO_FILENAME}" DIRECTORY)

execute_process(
COMMAND ${CMAKE_COMMAND} -E echo "Generating Protobuf file - ${PROTO_FILENAME}"
COMMAND ${SOURCESDK_PROTOC_EXECUTABLE} ${SOURCESDK_PROTO_PATH_ARGS} --cpp_out=${PROTO_DIR} ${PROTO_FILENAME}
WORKING_DIRECTORY ${SOURCESDK_DIR}
)
endforeach()

foreach(PROTO_FILE IN LISTS SOURCESDK_PROTO_FILES)
list(APPEND SOURCESDK_PROTO_FILENAME_FILES "${PROTO_FILE}.proto")
endforeach()

set(SOURCESDK_PROTO_SOURCE_FILES
${SOURCESDK_PROTO_SOURCE_FILES}
)
Expand Down
34 changes: 34 additions & 0 deletions cmake/sourcesdk/proto/generate.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
if(NOT PROTOBUF_DIR)
message(FATAL_ERROR "PROTOBUF_DIR is empty")
endif()

if(NOT SOURCESDK_PROTO_FILENAME_FILES)
message(WARNING "SOURCESDK_PROTO_FILENAME_FILES is empty")
endif()

set(SOURCESDK_PROTOC_EXECUTABLE "${DEVTOOLS_BIN_DIR}/${PROTOBUF_PROTOC_NAME}${CMAKE_EXECUTABLE_SUFFIX}")

set(SOURCESDK_PROTO_ARGS
${SOURCESDK_PROTO_ARGS}

--proto_path=${SOURCESDK_PROTOBUF_SOURCE_DIR}
)

foreach(PROTO_DIR IN LISTS SOURCESDK_PROTO_DIRS)
list(APPEND SOURCESDK_PROTO_ARGS
--proto_path=${PROTO_DIR}
)
endforeach()

message(STATUS "To compile protos will be used ${SOURCESDK_PROTOC_EXECUTABLE}")

## Generate protobuf source & headers
foreach(PROTO_FILENAME IN LISTS SOURCESDK_PROTO_FILENAME_FILES)
get_filename_component(PROTO_DIR "${PROTO_FILENAME}" DIRECTORY)

message(STATUS "Compiling ${PROTO_FILENAME} ...")
execute_process(
COMMAND ${SOURCESDK_PROTOC_EXECUTABLE} ${SOURCESDK_PROTO_ARGS} --cpp_out=${PROTO_DIR} ${PROTO_FILENAME}
WORKING_DIRECTORY ${SOURCESDK_DIR}
)
endforeach()
File renamed without changes.

0 comments on commit 6e37af5

Please sign in to comment.