mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
Rework host tools
Now configured at the same time as reactos and only one list of targets to maintain Correctly rebuilds when a tool changes (tested widl)
This commit is contained in:
parent
87a625bd6c
commit
ce531a28ec
7 changed files with 54 additions and 155 deletions
|
@ -31,10 +31,6 @@ set(CMAKE_COLOR_MAKEFILE OFF)
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
||||||
#set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
|
#set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
|
||||||
|
|
||||||
if(NOT DEFINED NEW_STYLE_BUILD)
|
|
||||||
set(NEW_STYLE_BUILD TRUE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT ARCH)
|
if(NOT ARCH)
|
||||||
set(ARCH i386)
|
set(ARCH i386)
|
||||||
endif()
|
endif()
|
||||||
|
@ -75,11 +71,7 @@ endif()
|
||||||
# include(sdk/cmake/bison-flex.cmake)
|
# include(sdk/cmake/bison-flex.cmake)
|
||||||
|
|
||||||
if(NOT CMAKE_CROSSCOMPILING)
|
if(NOT CMAKE_CROSSCOMPILING)
|
||||||
|
|
||||||
if(NEW_STYLE_BUILD)
|
|
||||||
set(TOOLS_FOLDER ${CMAKE_CURRENT_BINARY_DIR})
|
set(TOOLS_FOLDER ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
endif()
|
|
||||||
|
|
||||||
add_definitions(-DTARGET_${ARCH})
|
add_definitions(-DTARGET_${ARCH})
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
|
@ -105,22 +97,22 @@ if(NOT CMAKE_CROSSCOMPILING)
|
||||||
add_subdirectory(sdk/tools)
|
add_subdirectory(sdk/tools)
|
||||||
add_subdirectory(sdk/lib)
|
add_subdirectory(sdk/lib)
|
||||||
|
|
||||||
if(NOT NEW_STYLE_BUILD)
|
set(NATIVE_TARGETS bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
export(TARGETS bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc rsym mkshelllink utf16le xml2sdb FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
|
list(APPEND NATIVE_TARGETS rsym)
|
||||||
else()
|
|
||||||
export(TARGETS bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
export(TARGETS ${NATIVE_TARGETS} FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
|
||||||
|
configure_file(sdk/cmake/host-tools.in ${CMAKE_BINARY_DIR}/TargetList.cmake)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
# Add host tools target
|
||||||
|
include(sdk/cmake/host-tools.cmake)
|
||||||
|
setup_host_tools()
|
||||||
|
|
||||||
# We don't need CMake importlib handling.
|
# We don't need CMake importlib handling.
|
||||||
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
|
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
|
||||||
|
|
||||||
if(NEW_STYLE_BUILD)
|
|
||||||
include(sdk/cmake/host-tools.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Print build type
|
# Print build type
|
||||||
message("-- Build Type: ${CMAKE_BUILD_TYPE}")
|
message("-- Build Type: ${CMAKE_BUILD_TYPE}")
|
||||||
|
|
||||||
|
@ -134,14 +126,6 @@ else()
|
||||||
#useful stuff!
|
#useful stuff!
|
||||||
include(CMakeParseArguments)
|
include(CMakeParseArguments)
|
||||||
|
|
||||||
if(NOT NEW_STYLE_BUILD)
|
|
||||||
if(NOT DEFINED REACTOS_BUILD_TOOLS_DIR)
|
|
||||||
set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build)
|
|
||||||
endif()
|
|
||||||
set(IMPORT_EXECUTABLES "${REACTOS_BUILD_TOOLS_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Host executables")
|
|
||||||
include(${IMPORT_EXECUTABLES})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(DBG)
|
if(DBG)
|
||||||
add_definitions(-DDBG=1 -D_SEH_ENABLE_TRACE)
|
add_definitions(-DDBG=1 -D_SEH_ENABLE_TRACE)
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -18,18 +18,6 @@ if /I "%1" == "/?" (
|
||||||
goto quit
|
goto quit
|
||||||
)
|
)
|
||||||
|
|
||||||
REM Special case %1 = arm_hosttools %2 = vcvarsall.bat %3 = %CMAKE_GENERATOR%
|
|
||||||
if /I "%1" == "arm_hosttools" (
|
|
||||||
echo Configuring x86 host tools for ARM cross build
|
|
||||||
|
|
||||||
REM This launches %VSINSTALLDIR%VS\vcvarsall.bat
|
|
||||||
call %2 x86
|
|
||||||
|
|
||||||
REM Configure host tools for x86.
|
|
||||||
cmake -G %3 -A Win32 -DARCH:STRING=i386 %~dp0
|
|
||||||
exit
|
|
||||||
)
|
|
||||||
|
|
||||||
REM Get the source root directory
|
REM Get the source root directory
|
||||||
set REACTOS_SOURCE_DIR=%~dp0
|
set REACTOS_SOURCE_DIR=%~dp0
|
||||||
|
|
||||||
|
@ -95,14 +83,11 @@ if not defined ARCH (
|
||||||
goto quit
|
goto quit
|
||||||
)
|
)
|
||||||
|
|
||||||
set NEW_STYLE_BUILD=1
|
|
||||||
set USE_CLANG_CL=0
|
set USE_CLANG_CL=0
|
||||||
|
|
||||||
REM Parse command line parameters
|
REM Parse command line parameters
|
||||||
:repeat
|
:repeat
|
||||||
if /I "%1" == "-DNEW_STYLE_BUILD" (
|
if "%BUILD_ENVIRONMENT%" == "MinGW" (
|
||||||
set NEW_STYLE_BUILD=%2
|
|
||||||
) else if "%BUILD_ENVIRONMENT%" == "MinGW" (
|
|
||||||
if /I "%1" == "Codeblocks" (
|
if /I "%1" == "Codeblocks" (
|
||||||
set CMAKE_GENERATOR="CodeBlocks - MinGW Makefiles"
|
set CMAKE_GENERATOR="CodeBlocks - MinGW Makefiles"
|
||||||
) else if /I "%1" == "Eclipse" (
|
) else if /I "%1" == "Eclipse" (
|
||||||
|
@ -210,50 +195,12 @@ if "%VS_SOLUTION%" == "1" (
|
||||||
goto quit
|
goto quit
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%NEW_STYLE_BUILD%"=="0" (
|
|
||||||
|
|
||||||
if not exist host-tools (
|
|
||||||
mkdir host-tools
|
|
||||||
)
|
|
||||||
|
|
||||||
if not exist reactos (
|
|
||||||
mkdir reactos
|
|
||||||
)
|
|
||||||
|
|
||||||
echo Preparing host tools...
|
|
||||||
cd host-tools
|
|
||||||
if EXIST CMakeCache.txt (
|
|
||||||
del CMakeCache.txt /q
|
|
||||||
)
|
|
||||||
|
|
||||||
set REACTOS_BUILD_TOOLS_DIR=!CD!
|
|
||||||
|
|
||||||
REM Use x86 for ARM host tools
|
|
||||||
if "%ARCH%" == "arm" (
|
|
||||||
REM Launch new script instance for x86 host tools configuration
|
|
||||||
start "Preparing host tools for ARM cross build..." /I /B /WAIT %~dp0configure.cmd arm_hosttools "%VSINSTALLDIR%VC\vcvarsall.bat" %CMAKE_GENERATOR%
|
|
||||||
) else (
|
|
||||||
cmake -G %CMAKE_GENERATOR% %CMAKE_ARCH% -DARCH:STRING=%ARCH% "%REACTOS_SOURCE_DIR%"
|
|
||||||
)
|
|
||||||
|
|
||||||
cd..
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
echo Preparing reactos...
|
echo Preparing reactos...
|
||||||
|
|
||||||
if "%NEW_STYLE_BUILD%"=="0" (
|
|
||||||
cd reactos
|
|
||||||
)
|
|
||||||
|
|
||||||
if EXIST CMakeCache.txt (
|
if EXIST CMakeCache.txt (
|
||||||
del CMakeCache.txt /q
|
del CMakeCache.txt /q
|
||||||
del host-tools\CMakeCache.txt /q
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%NEW_STYLE_BUILD%"=="0" (
|
|
||||||
set BUILD_TOOLS_FLAG=-DREACTOS_BUILD_TOOLS_DIR:PATH="%REACTOS_BUILD_TOOLS_DIR%"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%BUILD_ENVIRONMENT%" == "MinGW" (
|
if "%BUILD_ENVIRONMENT%" == "MinGW" (
|
||||||
cmake -G %CMAKE_GENERATOR% -DENABLE_CCACHE:BOOL=0 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=%MINGW_TOOCHAIN_FILE% -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% %* "%REACTOS_SOURCE_DIR%"
|
cmake -G %CMAKE_GENERATOR% -DENABLE_CCACHE:BOOL=0 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=%MINGW_TOOCHAIN_FILE% -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% %* "%REACTOS_SOURCE_DIR%"
|
||||||
|
@ -263,10 +210,6 @@ if "%BUILD_ENVIRONMENT%" == "MinGW" (
|
||||||
cmake -G %CMAKE_GENERATOR% %CMAKE_ARCH% -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% -DRUNTIME_CHECKS:BOOL=%VS_RUNTIME_CHECKS% %* "%REACTOS_SOURCE_DIR%"
|
cmake -G %CMAKE_GENERATOR% %CMAKE_ARCH% -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% -DRUNTIME_CHECKS:BOOL=%VS_RUNTIME_CHECKS% %* "%REACTOS_SOURCE_DIR%"
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%NEW_STYLE_BUILD%"=="0" (
|
|
||||||
cd..
|
|
||||||
)
|
|
||||||
|
|
||||||
if %ERRORLEVEL% NEQ 0 (
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
goto quit
|
goto quit
|
||||||
)
|
)
|
||||||
|
|
27
configure.sh
27
configure.sh
|
@ -9,7 +9,6 @@ BUILD_ENVIRONMENT=MinGW
|
||||||
ARCH=$ROS_ARCH
|
ARCH=$ROS_ARCH
|
||||||
REACTOS_SOURCE_DIR=$(cd `dirname $0` && pwd)
|
REACTOS_SOURCE_DIR=$(cd `dirname $0` && pwd)
|
||||||
REACTOS_OUTPUT_PATH=output-$BUILD_ENVIRONMENT-$ARCH
|
REACTOS_OUTPUT_PATH=output-$BUILD_ENVIRONMENT-$ARCH
|
||||||
USE_NEW_STYLE=1
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo Invalid parameter given.
|
echo Invalid parameter given.
|
||||||
|
@ -34,9 +33,6 @@ while [ $# -gt 0 ]; do
|
||||||
makefiles|Makefiles)
|
makefiles|Makefiles)
|
||||||
CMAKE_GENERATOR="Unix Makefiles"
|
CMAKE_GENERATOR="Unix Makefiles"
|
||||||
;;
|
;;
|
||||||
with-host-tools)
|
|
||||||
USE_NEW_STYLE=0
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
usage
|
usage
|
||||||
esac
|
esac
|
||||||
|
@ -50,30 +46,9 @@ if [ "$REACTOS_SOURCE_DIR" = "$PWD" ]; then
|
||||||
cd "$REACTOS_OUTPUT_PATH"
|
cd "$REACTOS_OUTPUT_PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#EXTRA_ARGS=""
|
|
||||||
if [ $USE_NEW_STYLE -eq 0 ]; then
|
|
||||||
mkdir -p host-tools
|
|
||||||
mkdir -p reactos
|
|
||||||
echo Preparing host tools...
|
|
||||||
cd host-tools
|
|
||||||
rm -f CMakeCache.txt
|
|
||||||
|
|
||||||
REACTOS_BUILD_TOOLS_DIR="$PWD"
|
|
||||||
cmake -G "$CMAKE_GENERATOR" -DARCH:STRING=$ARCH $ROS_CMAKEOPTS -DNEW_STYLE_BUILD:BOOL=0 "$REACTOS_SOURCE_DIR"
|
|
||||||
|
|
||||||
EXTRA_ARGS="$EXTRA_ARGS -DREACTOS_BUILD_TOOLS_DIR:PATH=$REACTOS_BUILD_TOOLS_DIR"
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo Preparing reactos...
|
echo Preparing reactos...
|
||||||
|
|
||||||
if [ $USE_NEW_STYLE -eq 0 ]; then
|
|
||||||
cd reactos
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f CMakeCache.txt host-tools/CMakeCache.txt
|
rm -f CMakeCache.txt host-tools/CMakeCache.txt
|
||||||
|
|
||||||
cmake -G "$CMAKE_GENERATOR" -DENABLE_CCACHE:BOOL=0 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-gcc.cmake -DARCH:STRING=$ARCH -DNEW_STYLE_BUILD:BOOL=$USE_NEW_STYLE $EXTRA_ARGS $ROS_CMAKEOPTS "$REACTOS_SOURCE_DIR"
|
cmake -G "$CMAKE_GENERATOR" -DENABLE_CCACHE:BOOL=0 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-gcc.cmake -DARCH:STRING=$ARCH $EXTRA_ARGS $ROS_CMAKEOPTS "$REACTOS_SOURCE_DIR"
|
||||||
|
|
||||||
echo Configure script complete! Enter directories and execute appropriate build commands \(ex: ninja, make, makex, etc...\).
|
echo Configure script complete! Enter directories and execute appropriate build commands \(ex: ninja, make, makex, etc...\).
|
||||||
|
|
|
@ -228,12 +228,7 @@ elseif(NO_ROSSYM)
|
||||||
set(CMAKE_RC_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> ${CMAKE_C_FLAGS} <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
|
set(CMAKE_RC_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> ${CMAKE_C_FLAGS} <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
|
||||||
else()
|
else()
|
||||||
# Normal rsym build
|
# Normal rsym build
|
||||||
if(NEW_STYLE_BUILD)
|
|
||||||
string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type)
|
|
||||||
get_target_property(RSYM native-rsym IMPORTED_LOCATION_${_build_type})
|
|
||||||
else()
|
|
||||||
get_target_property(RSYM native-rsym IMPORTED_LOCATION_NOCONFIG)
|
get_target_property(RSYM native-rsym IMPORTED_LOCATION_NOCONFIG)
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CMAKE_C_LINK_EXECUTABLE
|
set(CMAKE_C_LINK_EXECUTABLE
|
||||||
"<CMAKE_C_COMPILER> ${CMAKE_C_FLAGS} <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
|
"<CMAKE_C_COMPILER> ${CMAKE_C_FLAGS} <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
|
||||||
|
|
|
@ -1,42 +1,45 @@
|
||||||
|
|
||||||
if(CMAKE_HOST_WIN32)
|
function(setup_host_tools)
|
||||||
set(native_suffix ".exe")
|
file(MAKE_DIRECTORY ${REACTOS_BINARY_DIR}/host-tools)
|
||||||
|
|
||||||
|
message(STATUS "Configuring host tools...")
|
||||||
|
# cmake sets CC and CXX when those languages are enabled
|
||||||
|
# so we need to clear them here
|
||||||
|
execute_process(COMMAND
|
||||||
|
${CMAKE_COMMAND}
|
||||||
|
-E env --unset=CC --unset=CXX
|
||||||
|
${CMAKE_COMMAND}
|
||||||
|
-G "${CMAKE_GENERATOR}"
|
||||||
|
-DARCH:STRING=${ARCH}
|
||||||
|
${USE_CLANG_CL_ARG}
|
||||||
|
${REACTOS_SOURCE_DIR}
|
||||||
|
WORKING_DIRECTORY ${REACTOS_BINARY_DIR}/host-tools
|
||||||
|
RESULT_VARIABLE _host_config_result
|
||||||
|
OUTPUT_VARIABLE _host_config_log
|
||||||
|
ERROR_VARIABLE _host_config_log)
|
||||||
|
|
||||||
|
# Show cmake output only if host-tools breaks
|
||||||
|
if(NOT _host_config_result EQUAL 0)
|
||||||
|
message("\nHost tools log:")
|
||||||
|
message("${_host_config_log}")
|
||||||
|
message(FATAL_ERROR "Failed to configure host tools")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type)
|
set_property(SOURCE host_tools PROPERTY SYMBOLIC 1)
|
||||||
|
|
||||||
# List of host tools
|
# Make a host-tools target so it'll be built when needed
|
||||||
list(APPEND host_tools_list bin2c hpp widl gendib cabman fatten isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
|
# custom target + symbolic output prevents cmake from running
|
||||||
if(NOT MSVC)
|
# the command multiple times per build
|
||||||
list(APPEND host_tools_list rsym)
|
add_custom_command(
|
||||||
endif()
|
COMMAND ${CMAKE_COMMAND} --build ${REACTOS_BINARY_DIR}/host-tools
|
||||||
|
OUTPUT host_tools)
|
||||||
|
add_custom_target(build-host-tools ALL DEPENDS host_tools)
|
||||||
|
|
||||||
foreach(_host_tool ${host_tools_list})
|
include(${REACTOS_BINARY_DIR}/host-tools/ImportExecutables.cmake)
|
||||||
if(MSVC_IDE)
|
include(${REACTOS_BINARY_DIR}/host-tools/TargetList.cmake)
|
||||||
get_filename_component(_tool_location "${CMAKE_CURRENT_BINARY_DIR}/host-tools/${CMAKE_BUILD_TYPE}/${_host_tool}${native_suffix}" ABSOLUTE)
|
|
||||||
else()
|
foreach(_target ${NATIVE_TARGETS})
|
||||||
get_filename_component(_tool_location "${CMAKE_CURRENT_BINARY_DIR}/host-tools/${_host_tool}${native_suffix}" ABSOLUTE)
|
add_dependencies(native-${_target} build-host-tools)
|
||||||
endif()
|
|
||||||
list(APPEND tools_binaries ${_tool_location})
|
|
||||||
add_executable(native-${_host_tool} IMPORTED)
|
|
||||||
set_property(TARGET native-${_host_tool} PROPERTY IMPORTED_LOCATION_${_build_type} ${_tool_location})
|
|
||||||
add_dependencies(native-${_host_tool} host-tools)
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(USE_CLANG_CL)
|
endfunction()
|
||||||
# FIXME: Fix host tools build with clang
|
|
||||||
#set(USE_CLANG_CL_ARG "-DCMAKE_C_COMPILER=clang-cl;-DCMAKE_CXX_COMPILER=clang-cl")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(ExternalProject)
|
|
||||||
|
|
||||||
ExternalProject_Add(host-tools
|
|
||||||
SOURCE_DIR ${REACTOS_SOURCE_DIR}
|
|
||||||
BINARY_DIR ${REACTOS_BINARY_DIR}/host-tools
|
|
||||||
STAMP_DIR ${REACTOS_BINARY_DIR}/host-tools/stamps
|
|
||||||
BUILD_ALWAYS 1
|
|
||||||
PREFIX host-tools
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
CMAKE_ARGS "-DNEW_STYLE_BUILD=1;-DARCH:STRING=${ARCH};${USE_CLANG_CL_ARG}"
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
BUILD_BYPRODUCTS ${tools_binaries})
|
|
||||||
|
|
1
sdk/cmake/host-tools.in
Normal file
1
sdk/cmake/host-tools.in
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set(NATIVE_TARGETS @NATIVE_TARGETS@)
|
|
@ -1,9 +1,7 @@
|
||||||
|
|
||||||
function(add_host_tool _tool)
|
function(add_host_tool _tool)
|
||||||
add_executable(${_tool} ${ARGN})
|
add_executable(${_tool} ${ARGN})
|
||||||
if(NEW_STYLE_BUILD)
|
|
||||||
set_target_properties(${_tool} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TOOLS_FOLDER})
|
set_target_properties(${_tool} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TOOLS_FOLDER})
|
||||||
endif()
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
#add_executable(pefixup pefixup.c)
|
#add_executable(pefixup pefixup.c)
|
||||||
|
|
Loading…
Reference in a new issue