@@ -97,16 +97,20 @@ endif
97
97
# These options can be set to influence package and configure.
98
98
CONAN_OPTIONS :=
99
99
100
- .PHONY : ${BUILD_LOCKFILE}
101
100
ifneq "${LOCKFILE_SOURCE}" ""
101
+ .PHONY : ${BUILD_LOCKFILE}
102
102
ifeq "$(realpath ${LOCKFILE_SOURCE}) " "$(realpath ${SOURCE_CONANFILE}) "
103
103
$(error "LOCKFILE_SOURCE must contain superset of SOURCE_CONANFILE package and dependencies")
104
104
endif
105
105
LOCKFILE_OPTION := --lockfile="${BUILD_LOCKFILE}"
106
- ${BUILD_LOCKFILE} : ${LOCKFILE_SOURCE} | ${BUILD_DIR} export
106
+ ${BUILD_LOCKFILE} : ${LOCKFILE_SOURCE} export
107
107
# Create lockfile from LOCKFILE_SOURCE.
108
108
#
109
+ mkdir -p " ${BUILD_DIR} "
109
110
conan lock create --lockfile-out " ${BUILD_LOCKFILE} " ${BUILD_TYPE_OPTION} ${CONAN_OPTIONS} --build -- " ${LOCKFILE_SOURCE} " > /dev/null
111
+ else
112
+ # Lockfile will be created automatically by conan install command.
113
+ ${BUILD_LOCKFILE} :
110
114
endif
111
115
112
116
# When using a --lockfile option, we cannot use profile, settings, options, env
@@ -330,7 +334,7 @@ list: parse-info
330
334
331
335
# IN-SOURCE TARGETS -----------------------------------------------------------
332
336
.PHONY : all clean conan configure test export-pkg
333
- all : ${SOURCE_DIR} ${BUILD_CONANINFO }
337
+ all : ${BUILD_CONANINFO} | ${SOURCE_DIR }
334
338
# Build the package in-source.
335
339
#
336
340
conan build . --source-folder=" ${SOURCE_DIR} " --build-folder=" ${BUILD_DIR} "
@@ -379,14 +383,12 @@ ${SOURCE_DIR}:
379
383
[ " $( shell readlink -f " ${SOURCE_DIR} " ) " != " $( shell readlink -f .) " ]
380
384
conan source . --source-folder=" ${SOURCE_DIR} "
381
385
382
- ${BUILD_DIR} :
383
- mkdir -p " ${BUILD_DIR} "
384
-
385
- ${SOURCE_CMAKELISTS} : ${SOURCE_DIR}
386
+ ${SOURCE_CMAKELISTS} : | ${SOURCE_DIR}
386
387
387
- ${BUILD_CONANINFO} : ${SOURCE_CONANFILE} ${BUILD_DIR} ${ BUILD_LOCKFILE}
388
+ ${BUILD_CONANINFO} : ${SOURCE_CONANFILE} ${BUILD_LOCKFILE}
388
389
# Install package dependencies and prepare in-source build.
389
390
#
391
+ mkdir -p " ${BUILD_DIR} "
390
392
conan install . ${PACKAGE_FQN} --install-folder=" ${BUILD_DIR} " --build=${BUILD_POLICY} ${ALL_OPTIONS}
391
393
touch ${BUILD_CONANINFO}
392
394
0 commit comments