[CMake] MSVC10 project error
J Decker
d3ck0r at gmail.com
Tue Sep 7 04:09:33 EDT 2010
-------
PROJECT( basename.stop )
set( ${SOURCES} )
add_executable(${PROJECT_NAME} ${SOURCES})
just building a windows exectuable with a . in the name...
$(TargetFileName)=basename.exe
$(TargetName)=basename
$(TargetExt)=.exe
that is without overriding SUFFIX. the '.stop' is dropped from the
desired target filename 'basename.stop.exe'
To recap
--------
add_library( basename.feature.group SHARED whatever.c )
SET_TARGET_PROPERTIES( basename.feature.group PROPERTIES
SUFFIX ""
PREFIX ""
)
results in 'basename.dll' being produced (drops .feature.group)
--------
add_library( basename_feature_group SHARED whatever.c )
SET_TARGET_PROPERTIES( basename.feature.group PROPERTIES
SUFFIX ""
PREFIX ""
)
results in 'basename_feature_group.dll'
-----------
add_library( basename_feature.group SHARED whatever.c )
SET_TARGET_PROPERTIES( basename_feature.group PROPERTIES
SUFFIX ""
PREFIX ""
)
results in 'basename_feature.group' being produced (correct)
results in 'basename.dll' being produced
On Tue, Sep 7, 2010 at 12:48 AM, J Decker <d3ck0r at gmail.com> wrote:
> On Tue, Sep 7, 2010 at 12:29 AM, J Decker <d3ck0r at gmail.com> wrote:
>> The sample CMakeLists.txt (requires a blank 'whatever.c' file)
>> -------------
>> cmake_minimum_required(VERSION 2.8)
>>
>
> Same sceneario but instead specify a flat name with '-'
>
> add_library( bag-service-external SHARED whatever.c )
> SET_TARGET_PROPERTIES( bag-service-external PROPERTIES
> SUFFIX ""
> PREFIX ""
> )
>
>>
>> ------------
>>
>> the configuration of link library target is...
>>
>> $(OutDir)$(TargetName)$(TargetExt)
>>
>> When I click edit, and check the macros
>>
>> $(OutDir)=(somewhere, doesn't matter)
>
> $(TargetFileName)=bag-service-external
> $(TargetName)=bag-service-external
> $(TargetExt)=.dll
>
>
> So the resulting filename has .dll appended to it.
>
>>
>>
>> .............
>>
>> can probably work around by replacing a '.' in the target name with
>> something else.
>>
>
> actually the correct result requires a single . in the filename,
> neither projects with no . or with multiple . works.
>
More information about the CMake
mailing list