Skip to content

Commit 9bbc5e9

Browse files
committed
comment out AR helper, revised cmake arg handling
1 parent f244a5e commit 9bbc5e9

3 files changed

Lines changed: 68 additions & 51 deletions

File tree

build/f_zlib_build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ BLD_CONFIG_CMAKE_CONFIG_CMD_ADDL=( "-DINSTALL_PKGCONFIG_DIR:PATH=[INSTALL_FOLDER
1111

1212

1313

14-
# ninja, nmake, nmake-launchers, vs all work msys(general default) does not
15-
BLD_CONFIG_CMAKE_STYLE="nmake"
14+
# ninja, nmake (manifest issue?), nmake-launchers, vs all work msys(general default) does not
15+
BLD_CONFIG_CMAKE_STYLE="vs"
1616

1717
# BLD_CONFIG_BUILD_FOLDER_NAME="myapp2"; #if you want it compiling in a diff folder
1818
# BLD_CONFIG_BUILD_DEBUG=1

helpers_cmake.sh

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,15 @@ function cmake_settings_setup(){
5252
#return
5353
#fi
5454
# SETUP_CMAKE_SETTINGS_RUN=1
55+
export LD="${CC}"
56+
5557
CMAKE_TARGET="${BLD_CONFIG_CMAKE_VS_VERSION}"
5658
CMAKE_CONFIG_BINARY="cmake"
5759
CMAKE_MAKE_BINARY="cmake"
5860
CMAKE_MAKE_ADDL="--build ${BLD_CONFIG_CMAKE_BUILD_DIR} --verbose"
5961
CMAKE_INSTALL_ADDL=" --install ${BLD_CONFIG_CMAKE_BUILD_DIR}"
6062
CMAKE_PREFIX_DIR="$BLD_CONFIG_INSTALL_FOLDER"
61-
CMAKE_ADDL_FLAGS=""
63+
declare -a -G CMAKE_ADDL_FLAGS=()
6264
CMAKE_CONFIG_CLI_CFLAGS="${CFLAGS}"
6365

6466

@@ -90,7 +92,7 @@ function cmake_settings_setup(){
9092
CMAKE_MAKE_ADDL=""
9193
CMAKE_MAKE_BINARY="make"
9294
CMAKE_INSTALL_ADDL="install"
93-
CMAKE_ADDL_FLAGS="-DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_IGNORE_PATH=/usr/bin -DCMAKE_LINKER=${LD} -DCMAKE_C_LINK_EXECUTABLE=\"${LD}\" -DCMAKE_CXX_LINK_EXECUTABLE=\"${LD}\" " #ignore is to fix link.exe chosen wrong issue
95+
CMAKE_ADDL_FLAGS=( "-DCMAKE_MAKE_PROGRAM=/usr/bin/make" "-DCMAKE_IGNORE_PATH=/usr/bin" "-DCMAKE_LINKER=${LD}" "-DCMAKE_C_LINK_EXECUTABLE=${LD}" "-DCMAKE_CXX_LINK_EXECUTABLE=${LD}" ) #ignore is to fix link.exe chosen wrong issue
9496
;;
9597
msys)
9698
CMAKE_TARGET="MSYS Makefiles"
@@ -112,9 +114,11 @@ function cmake_settings_setup(){
112114
# AR=`cygpath -u "$AR"`
113115

114116
#this is to fix the fact some cmake configs will not like AR being set with a space after the command
115-
echo "#!/bin/sh" > /tmp/ar.sh
116-
echo "$AR \"\$@\"" >> /tmp/ar.sh
117-
AR=/tmp/ar.sh
117+
118+
# we need to condition on which cmakes need this and /tmp/ar needs to be checked to make sure we don't loop ourselves
119+
#echo "#!/bin/sh" > /tmp/ar.sh
120+
#echo "$AR \"\$@\"" >> /tmp/ar.sh
121+
#AR=/tmp/ar.sh
118122

119123

120124
#unset CC AR
@@ -124,7 +128,7 @@ function cmake_settings_setup(){
124128
# -DCMAKE_C_COMPILER_ID:STRING=GNU
125129
# -DCMAKE_C_COMPILER_ID:STRING=MSVC -DCMAKE_C_COMPILER_VERSION:STRING=19.43.34604
126130
# --trace --debug-find
127-
CMAKE_ADDL_FLAGS="-DCMAKE_LINKER=${MSYS_LD} -DCMAKE_DEBUG_DETECT_COMPILER:BOOL=ON -DCMAKE_AR=${AR} -DCMAKE_C_COMPILER_ID:STRING=INVALID"
131+
CMAKE_ADDL_FLAGS=("-DCMAKE_LINKER=${MSYS_LD}" "-DCMAKE_DEBUG_DETECT_COMPILER:BOOL=ON" "-DCMAKE_C_COMPILER_ID:STRING=INVALID")
128132
#CMAKE_ADDL_FLAGS=""
129133
;;
130134
unix-msys)
@@ -156,7 +160,7 @@ function cmake_settings_setup(){
156160
unset CC CXX
157161
export GNU_BUILD_WRAPPER_DEBUG=1
158162
LAUNCHER="${WIN_SCRIPT_FOLDER}/windows_command_wrapper.bat"
159-
CMAKE_ADDL_FLAGS="-DCMAKE_CXX_LINKER_LAUNCHER=${LAUNCHER} -DCMAKE_C_LINKER_LAUNCHER=${LAUNCHER} -DCMAKE_C_COMPILER_LAUNCHER=${LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${LAUNCHER}"
163+
CMAKE_ADDL_FLAGS=( "-DCMAKE_CXX_LINKER_LAUNCHER=${LAUNCHER}" "-DCMAKE_C_LINKER_LAUNCHER=${LAUNCHER}" "-DCMAKE_C_COMPILER_LAUNCHER=${LAUNCHER}" "-DCMAKE_CXX_COMPILER_LAUNCHER=${LAUNCHER}")
160164
CMAKE_TARGET="NMake Makefiles"
161165
CMAKE_MAKE_ADDL=""
162166
CMAKE_INSTALL_ADDL="install"
@@ -173,6 +177,8 @@ function cmake_config_run(){
173177
#these almost certainly wont work normally the static and release are prefixed by something
174178
# We do upper case them though so PROJNAME_BUILD_DEBUG etc work properly
175179

180+
181+
176182
declare -g -a CMAKE_FULL_CONFIG_CMD_ARR=("${BLD_CONFIG_CMAKE_CONFIG_CMD_DEFAULT[@]}")
177183
if [[ $BLD_CONFIG_PREFER_STATIC_LINKING -eq "1" ]]; then
178184
CMAKE_FULL_CONFIG_CMD_ARR+=( "${BLD_CONFIG_CMAKE_CONFIG_CMD_ADDL_STATIC[@]^^}" )
@@ -184,6 +190,12 @@ function cmake_config_run(){
184190
CMAKE_FULL_CONFIG_CMD_ARR+=( "${BLD_CONFIG_CMAKE_CONFIG_CMD_ADDL_DEBUG[@]}" )
185191
fi
186192
CMAKE_FULL_CONFIG_CMD_ARR+=("${BLD_CONFIG_CMAKE_CONFIG_CMD_ADDL[@]^^}")
193+
CMAKE_FULL_CONFIG_CMD_ARR+=("${CMAKE_ADDL_FLAGS[@]}")
194+
# CMAKE_FULL_CONFIG_CMD_ARR+=("-DCMAKE_C_LINK_EXECUTABLE=${LD}" "-DCMAKE_CXX_LINK_EXECUTABLE=${LD}" ) #this breaks all linking commands for some reason
195+
CMAKE_FULL_CONFIG_CMD_ARR+=( "-DCMAKE_AR=${AR}" )
196+
197+
CMAKE_FULL_CONFIG_CMD_ARR+=("-DCMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT=123") #this is to prevent it from adding the wrong flags to the compiler string by default in terms of libs
198+
187199

188200
# -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_AR="${AR}" -DCMAKE_LINKER="${LD}"
189201
# well it will call these but its calling from win so bash scripts wont work would need them as PS
@@ -194,10 +206,13 @@ function cmake_config_run(){
194206
#MSYS Makefiles
195207

196208
cmake_settings_setup;
197-
198-
DEBUG_FLAGS="--debug-trycompile --trace --debug-output"
199-
DEBUG_FLAGS="--debug-output --trace"
200-
209+
210+
#debug flags
211+
#CMAKE_FULL_CONFIG_CMD_ARR+=( "--debug-trycompile" )
212+
#CMAKE_FULL_CONFIG_CMD_ARR+=( "--debug-output" )
213+
#CMAKE_FULL_CONFIG_CMD_ARR+=( "--trace" )
214+
215+
201216
EXPORT_CMDS=" -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=1" #only works for makefiles and ninja generators for nmake it does get you real names but no linker command, may not work with unix ones
202217
#export -p > "/tmp/test.sh"
203218
# -DCMAKE_AR="${AR}"
@@ -209,7 +224,7 @@ function cmake_config_run(){
209224

210225
# IF you find you are getting -MD or -MDd added to the flags it is because CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT is not set which cauess it to happen something like set(CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT "MultiThreaded$<$<CONFIG:Debug>:Debug>")
211226

212-
_cmake $CMAKE_CONFIG_BINARY -G "$CMAKE_TARGET" --fresh --install-prefix "$CMAKE_PREFIX_DIR" $CMAKE_ADDL_FLAGS $EXPORT_CMDS -DCMAKE_C_FLAGS_DEBUG:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" -DCMAKE_C_FLAGS_RELEASE:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" -DCMAKE_LINKER=${LD} -DCMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT=123 -DCMAKE_C_LINK_EXECUTABLE=\"${LD}\" -DCMAKE_CXX_LINK_EXECUTABLE=\"${LD}\" -DCMAKE_C_FLAGS_MINSIZEREL:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" "${CMAKE_FULL_CONFIG_CMD_ARR[@]}" > >(tee "${BLD_CONFIG_LOG_CONFIGURE_FILE}");
227+
_cmake $CMAKE_CONFIG_BINARY -G "$CMAKE_TARGET" --fresh --install-prefix "$CMAKE_PREFIX_DIR" $EXPORT_CMDS -DCMAKE_C_FLAGS_DEBUG:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" -DCMAKE_C_FLAGS_RELEASE:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" -DCMAKE_LINKER=${LD} -DCMAKE_C_FLAGS_MINSIZEREL:STRING="${CMAKE_CONFIG_CLI_CFLAGS}" "${CMAKE_FULL_CONFIG_CMD_ARR[@]}" > >(tee "${BLD_CONFIG_LOG_CONFIGURE_FILE}");
213228
SKIP_STEP="";CUR_STEP="";
214229
}
215230
function cmake_make(){

0 commit comments

Comments
 (0)