conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
958 stars 1.76k forks source link

This line needs to convert backlashes, otherwise it is unable to be used on windows out of the box. #20738

Open seppeon opened 1 year ago

seppeon commented 1 year ago

https://github.com/conan-io/conan-center-index/blame/3e07efa1a80302b8508deb16b5e3568bc97596db/recipes/sdl/all/conanfile.py#L330

This would be the error from running an installation:

-- Using Conan toolchain: C:/Users/David/.conan2/p/b/sdlccf43404bc1f0/b/build/Debug/generators/conan_toolchain.cmake
-- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
CMake Error at C:/Users/David/.conan2/p/b/sdlccf43404bc1f0/b/build/Debug/generators/conan_toolchain.cmake:103 (set):
  Syntax error in cmake code at

    C:/Users/David/.conan2/p/b/sdlccf43404bc1f0/b/build/Debug/generators/conan_toolchain.cmake:103

  when parsing string

    -IC:\Users\David\.conan2\p\b\libicf554be0b2577b\p\include

  Invalid character escape '\U'.
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake:148 (include)
  CMakeLists.txt:6 (project)

This would be the generated conan_toolchain.cmake:


# Conan automatically generated toolchain file
# DO NOT EDIT MANUALLY, it will be overwritten

# Avoid including toolchain file several times (bad if appending to variables like
#   CMAKE_CXX_FLAGS. See https://github.com/android/ndk/issues/323
include_guard()

message(STATUS "Using Conan toolchain: ${CMAKE_CURRENT_LIST_FILE}")

if(${CMAKE_VERSION} VERSION_LESS "3.15")
    message(FATAL_ERROR "The 'CMakeToolchain' generator only works with CMake >= 3.15")
endif()

set(CMAKE_C_COMPILER "C:/msys64/mingw64/bin/gcc.exe")
set(CMAKE_CXX_COMPILER "C:/msys64/mingw64/bin/g++.exe")
set(CMAKE_ASM_COMPILER "C:/msys64/mingw64/bin/as.exe")

string(APPEND CONAN_CXX_FLAGS " -m64")
string(APPEND CONAN_C_FLAGS " -m64")
string(APPEND CONAN_SHARED_LINKER_FLAGS " -m64")
string(APPEND CONAN_EXE_LINKER_FLAGS " -m64")

# Extra c, cxx, linkflags and defines

if(DEFINED CONAN_CXX_FLAGS)
  string(APPEND CMAKE_CXX_FLAGS_INIT " ${CONAN_CXX_FLAGS}")
endif()
if(DEFINED CONAN_C_FLAGS)
  string(APPEND CMAKE_C_FLAGS_INIT " ${CONAN_C_FLAGS}")
endif()
if(DEFINED CONAN_SHARED_LINKER_FLAGS)
  string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${CONAN_SHARED_LINKER_FLAGS}")
endif()
if(DEFINED CONAN_EXE_LINKER_FLAGS)
  string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${CONAN_EXE_LINKER_FLAGS}")
endif()

get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
if(_CMAKE_IN_TRY_COMPILE)
    message(STATUS "Running toolchain IN_TRY_COMPILE")
    return()
endif()

set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)

# Definition of CMAKE_MODULE_PATH
# the generators folder (where conan generates files, like this toolchain)
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})

# Definition of CMAKE_PREFIX_PATH, CMAKE_XXXXX_PATH
# The Conan local "generators" folder, where this toolchain is saved.
list(PREPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR} )
list(PREPEND CMAKE_LIBRARY_PATH "C:/Users/David/.conan2/p/b/libicf554be0b2577b/p/lib")
list(PREPEND CMAKE_INCLUDE_PATH "C:/Users/David/.conan2/p/b/libicf554be0b2577b/p/include")

if (DEFINED ENV{PKG_CONFIG_PATH})
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_LIST_DIR};$ENV{PKG_CONFIG_PATH}")
else()
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_LIST_DIR};")
endif()

message(STATUS "Conan toolchain: Setting BUILD_SHARED_LIBS = OFF")
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries")

set(CMAKE_INSTALL_PREFIX "C:/Users/David/.conan2/p/b/sdlccf43404bc1f0/p")
set(CMAKE_INSTALL_BINDIR "bin")
set(CMAKE_INSTALL_SBINDIR "bin")
set(CMAKE_INSTALL_LIBEXECDIR "bin")
set(CMAKE_INSTALL_LIBDIR "lib")
set(CMAKE_INSTALL_INCLUDEDIR "include")
set(CMAKE_INSTALL_OLDINCLUDEDIR "include")

# Variables
set(SDL2_DISABLE_INSTALL OFF CACHE BOOL "Variable SDL2_DISABLE_INSTALL conan-toolchain defined")
set(SDL_SHARED "False" CACHE STRING "Variable SDL_SHARED conan-toolchain defined")
set(SDL_STATIC ON CACHE BOOL "Variable SDL_STATIC conan-toolchain defined")
set(SDL_OPENGL "True" CACHE STRING "Variable SDL_OPENGL conan-toolchain defined")
set(SDL_OPENGLES "True" CACHE STRING "Variable SDL_OPENGLES conan-toolchain defined")
set(SDL_VULKAN "True" CACHE STRING "Variable SDL_VULKAN conan-toolchain defined")
set(SDL_DIRECTX "True" CACHE STRING "Variable SDL_DIRECTX conan-toolchain defined")
set(SDL2_DISABLE_SDL2MAIN OFF CACHE BOOL "Variable SDL2_DISABLE_SDL2MAIN conan-toolchain defined")
set(EXTRA_LDFLAGS "" CACHE STRING "Variable EXTRA_LDFLAGS conan-toolchain defined")
set(CMAKE_REQUIRED_INCLUDES "" CACHE STRING "Variable CMAKE_REQUIRED_INCLUDES conan-toolchain defined")
set(EXTRA_CFLAGS "-IC:\Users\David\.conan2\p\b\libicf554be0b2577b\p\include" CACHE STRING "Variable EXTRA_CFLAGS conan-toolchain defined")
set(EXTRA_LIBS "" CACHE STRING "Variable EXTRA_LIBS conan-toolchain defined")
# Variables  per configuration

# Preprocessor definitions
# Preprocessor definitions per configuration

Note the line:

set(EXTRA_CFLAGS "-IC:\Users\David\.conan2\p\b\libicf554be0b2577b\p\include" CACHE STRING "Variable EXTRA_CFLAGS conan-toolchain defined")

The backslashes here are invalid.

seppeon commented 1 year ago

https://github.com/conan-io/conan-center-index/pull/20739